diff options
Diffstat (limited to 'sys-libs')
19 files changed, 968 insertions, 12 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex b26d9786fa96..c479e718d0c3 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 c6ca7ff933e8..e0626753e88d 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -12,14 +12,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD compiler-rt-sanitizers-13.0.1.ebuild 6369 BLAKE2B 4e8a715cd19dd39087fe7d6cad9e30a7e130c69bde12ea382fc748cc152099607c23b75915c644785820ded954eaba31779f7c58b63a71255f9c6b610afcee7d SHA512 f5a680a5de09feecde1a3038ab185cc3b321eb2dc15b5841cd58863323fd6da727307c44127d2af5077ce2b17744ee5d3f8a17dd3bceea71b1dec2a13555dd66 EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6381 BLAKE2B 010ce621c56c1568eaddeb6f4af6e680f2596106768e3b40bffd3c221df20b565c565793ff14a46b2a96b080a696a9217be0f547c2e85430e9031bd86adc2b90 SHA512 d68b96a7458c8b0d1946523a7c1b20e413de38b7f53bd87b8729103935cdb9ad8fc38863138ba36ffc8da57e0ddcf591c7deeb23fba0d76003adea978b262e37 EBUILD compiler-rt-sanitizers-15.0.5.ebuild 6433 BLAKE2B 25dfdd2696b3c861dce89b740c12a382e6eae2a726d6302b7d2ccb609721be4add79169e129a917a88e8396f90112b2ec96e77eb7e1f64f4e65395d54f964dc0 SHA512 8418f40cd19e862ecf69475aeb26aface57f1e548de75760f474d4e03d52d6df3926f7a68eb11460d369b1465580c01c7e47c59b8b3d08571b60f454e5cab46a EBUILD compiler-rt-sanitizers-15.0.6.9999.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a -EBUILD compiler-rt-sanitizers-15.0.6.ebuild 6437 BLAKE2B 5acf31e76c40eb3a2d5d7071a7ca6f6ad3f02678f311893dc72f6937e52883c093cac6fa87a34909f1c07e51df181b90c810cbfb8688b85aa6d3596ea9bdef34 SHA512 28a70d9831f5d96b25f74b2e4acf81bf23a230c0febd1c75d7fa1370a28249cfafb21f610c180d1970c5c01746dd5ed19229500faf18cc02675e76d46185e88b +EBUILD compiler-rt-sanitizers-15.0.6.ebuild 6436 BLAKE2B 8f595efb33bbb3e5f70192e7131f6dedaa5668a637ccf35e36a69306b410f34564d006cf8ac9d99f7f21b7340f66c0c3e51c9a7489bc042f9a180d2aa2e11a28 SHA512 7266a9a049a1e6ced4c7d9b03520cab33ac0491cf1cdf1a987aa00d60406e3dbfba928f951a5a78f87537649906b6beafcd98a6db02ef15f10b3bbc9bb8db245 EBUILD compiler-rt-sanitizers-16.0.0.9999.ebuild 6248 BLAKE2B 9845329e29b14c13818de01405cf3932c08c903e562b435502e0da0d3bf269adbb60b320c5f362dd0374123fc57f3d5e90c35a2b755ea129306b861b60e7c2b8 SHA512 2e7c8b7b1020602b1489dde3b0b1993059f1cdcc6d94f6087ddb9d4ce71e7daeed507bdc62fe8a8a0dce59edd8977a9c02e2ffa0f50edbcd2cde95f74dc728e4 EBUILD compiler-rt-sanitizers-16.0.0_pre20221126.ebuild 6275 BLAKE2B 793bc932cd71141515504b6532c8eadd6066727ef4dd2dd7ca0df91ca6afcc652e5425d16bf8e6f4e6f40d6f9955ef0508db4c3713a083f99d44d02dfce40e4b SHA512 3c5e3840467c908afdc52e8fe549d1cc25e76db1afed24ac312ed765cf77a0bbb2fcdf4fb0f64114bd1c89d9552299ce4467fb7e69f089c546d7a2353653e425 EBUILD compiler-rt-sanitizers-16.0.0_pre20221205.ebuild 6254 BLAKE2B a9959d562d550af23e4af7c4a3d83d66675e6bbdf1ea9e4139b3cadd0c4f4960e407ff3f24f590cb470525e3bd355b2be21a9444593631a1df8b0ef675c9d568 SHA512 c752234f7b2d1b5f9a743a93ea27424c472da4cdeec3b7172f5746bc3c40c0e3a7a7ddaafe34da58bc2ae70dabc8952d14884b04a5a888b7abd083dfdfa55ff5 EBUILD compiler-rt-sanitizers-16.0.0_pre20221210.ebuild 6254 BLAKE2B a9959d562d550af23e4af7c4a3d83d66675e6bbdf1ea9e4139b3cadd0c4f4960e407ff3f24f590cb470525e3bd355b2be21a9444593631a1df8b0ef675c9d568 SHA512 c752234f7b2d1b5f9a743a93ea27424c472da4cdeec3b7172f5746bc3c40c0e3a7a7ddaafe34da58bc2ae70dabc8952d14884b04a5a888b7abd083dfdfa55ff5 +EBUILD compiler-rt-sanitizers-16.0.0_pre20221217.ebuild 6254 BLAKE2B a9959d562d550af23e4af7c4a3d83d66675e6bbdf1ea9e4139b3cadd0c4f4960e407ff3f24f590cb470525e3bd355b2be21a9444593631a1df8b0ef675c9d568 SHA512 c752234f7b2d1b5f9a743a93ea27424c472da4cdeec3b7172f5746bc3c40c0e3a7a7ddaafe34da58bc2ae70dabc8952d14884b04a5a888b7abd083dfdfa55ff5 MISC metadata.xml 1412 BLAKE2B 75675507000fa6a6b8182e6b45a08a2716ae7fb9a7e3428dc8420464e4c1d1bdb5bea62cc2f553c579de5a4faa752b35cb3529d980fb07a055ff4ddf6e752707 SHA512 f05ea5168b923db72f4f5b53e9b748ebbcdae9eff09d86323313055933b47fc0089e1b2d73cd997d73dcfb2dca032344955816425fbddc09d27ca751463aadbb diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.6.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.6.ebuild index 9ee4580ef7ef..bdb080fc05e8 100644 --- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.6.ebuild +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.6.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="${LLVM_VERSION}" -KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+abi_x86_32 abi_x86_64 +clang debug test" # base targets IUSE+=" +libfuzzer +memprof +orc +profile +xray" diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221217.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..0615c74fe85d --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20221217.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~loong" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +# base targets +IUSE+=" +libfuzzer +memprof +orc +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) + test? ( + cfi? ( ubsan ) + gwp-asan? ( scudo ) + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + # TODO: fix these tests to be skipped upstream + if use asan && ! use profile; then + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + if use ubsan && ! use cfi; then + > test/cfi/CMakeLists.txt || die + fi + + llvm.org_src_prepare +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_ORC=$(usex orc) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX + # This disables i386 for SDK >= 10.15 + # Will error if has_use tsan and SDK < 10.12 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + cmake_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 06fcbfcdc2c0..81ebe896f85c 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -12,14 +12,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD compiler-rt-13.0.1.ebuild 3880 BLAKE2B 83202517f413772d355aa49b5a3bd8b7000c86f6538da1a5ae96de5e84bc7536d0e639b530d1f504dc68b769565504434cc80d25426207b19283b9bc41df3388 SHA512 fe5329aee6c29d408c67af9e9891205fcdf313676780b948975f94ddce31b3f54e68cc041233c81b3005ff94f7685dcc09044f3634760d90e8c18c61f63651c3 EBUILD compiler-rt-14.0.6-r1.ebuild 4247 BLAKE2B 42673c116b115622e192ae5629e27113dbdb596b7c3f785e7b0fcd40e6d8f26e177081eaa35d5746e5911c2411a62029dbeab55dbe8079b27737561ff175eed3 SHA512 e1a26e59f31edb97d5866ac83610518e81b0a301cad4b0ef917df64abfdacbe69af354860f608980332d4011095e9d5ddbb86fa77926656ee6a881d02f46ae89 EBUILD compiler-rt-15.0.5.ebuild 4259 BLAKE2B b14a1d7d6d7d6ba021074ca6c22d6a0db1a61d2d9b16d7391a5321832f67237514d002cb269ea0cfcced8fe6992db96551c87fdf3e15975798c73283fcf92964 SHA512 43dd2e1f6687c6ab7a640ee68994f449aba5229e9e29d54f34afa5be006b2cc0a1768997be705ccf93209f2ec970ef9f47b61f364f5218baf5e0a8116b8855e4 EBUILD compiler-rt-15.0.6.9999.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153 -EBUILD compiler-rt-15.0.6.ebuild 4263 BLAKE2B 2b99da27fb167122f59566fa7b7cfa8da83839278e33fc5943c361563f8a4344ce830de0cc36ae55a43b3326078e47060254f455cc9df82d6fcb90cb066b949b SHA512 aab6b850ef3a78ddda7eaf530040d1a31b602303ab1788ca30a3ade27dfc170d2d6a38402affaf22d1e117fd2e55875167f39ef10427065d56eec4af6845bbda +EBUILD compiler-rt-15.0.6.ebuild 4262 BLAKE2B f005f16b0826028d16ffafca6a7335b462fe58a15c5857c94a42e06c2d6df6056d4f66787c75572b7bf2f56e711d3c60a736399109220f349a034c540018d058 SHA512 948a4ac08bd9811bec072db56a77046da5ea52a0f9e02d1507fdf9423d12ec91afcb1c40b8fdfb2126278d4ae847840c1b284e7c44dfa77794d42436c87d19ad EBUILD compiler-rt-16.0.0.9999.ebuild 4164 BLAKE2B 25adbf7603984b3cb09b1e3bf08d465e20997654fdf5276f6a992092cc11a43210a134c7aa0c1bab7c4f6b023de517c34e265c1249d2671c577d4930066f2629 SHA512 893fdc38fe3d885f1fcddb4e72e9173f6af74db1e20ef34c1d2a903cd8ef8fe4acae85843b752a5b8474a3abe1212a254657c5f7ca4fb2357cf62b57427f3935 EBUILD compiler-rt-16.0.0_pre20221126.ebuild 4191 BLAKE2B f61d688e3d565074116e1ae0cc0862455fb3c95fe3c44bc1d74ba10d0d68effdb8482ef07b5dd7b48179a896f06fb0c6c3041e2d4026bb466a734343f327c3d5 SHA512 7a70b17887857d78ce623e9279b971b4ab14b44129da4cf0146a88fc1579e1cbc6507034a14cc9e236e58247015920d5d4045465cfdbcc10f508f279c563b944 EBUILD compiler-rt-16.0.0_pre20221205.ebuild 4170 BLAKE2B 1518378370b16ba1ee9119abcfeb9d0c8b64db502257463a7dddf801f7cd90d3d801906d759448b978fdde60b3d9fc3d1e5220c086144d6b053398b412a17773 SHA512 cbcc7470bb060f9295c7cf0fce7906a8210a29f3990ee7f730f4562c0f17b26b58a60431f5f8cb30bac711e8e59e0995319c1299774ce76934f008d6295168b7 EBUILD compiler-rt-16.0.0_pre20221210.ebuild 4170 BLAKE2B 1518378370b16ba1ee9119abcfeb9d0c8b64db502257463a7dddf801f7cd90d3d801906d759448b978fdde60b3d9fc3d1e5220c086144d6b053398b412a17773 SHA512 cbcc7470bb060f9295c7cf0fce7906a8210a29f3990ee7f730f4562c0f17b26b58a60431f5f8cb30bac711e8e59e0995319c1299774ce76934f008d6295168b7 +EBUILD compiler-rt-16.0.0_pre20221217.ebuild 4170 BLAKE2B 1518378370b16ba1ee9119abcfeb9d0c8b64db502257463a7dddf801f7cd90d3d801906d759448b978fdde60b3d9fc3d1e5220c086144d6b053398b412a17773 SHA512 cbcc7470bb060f9295c7cf0fce7906a8210a29f3990ee7f730f4562c0f17b26b58a60431f5f8cb30bac711e8e59e0995319c1299774ce76934f008d6295168b7 MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-15.0.6.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0.6.ebuild index 4eed2e6f4ef2..8ee9d640e735 100644 --- a/sys-libs/compiler-rt/compiler-rt-15.0.6.ebuild +++ b/sys-libs/compiler-rt/compiler-rt-15.0.6.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="${LLVM_VERSION}" -KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~ppc-macos ~x64-macos" IUSE="+abi_x86_32 abi_x86_64 +clang debug test" RESTRICT="!test? ( test ) !clang? ( test )" diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221217.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..33bcc08a8c37 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20221217.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="~loong" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +test_compiler() { + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! test_compiler; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -emain ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index afa06588d3c1..22e4495a67d4 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -9,14 +9,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD libcxx-13.0.1.ebuild 6768 BLAKE2B 71b0f62e35538d718d99e3d43447f98752933868d999bf831969a6940d3a817452789c2044e9ca3bb4d5d1f0c2976fc276c4d10cb018c44e0cc6109095d9c6d6 SHA512 a12023fa135a7945e8088b34421f575cab32bb8ac53f1aeaa61bcf2a7b9fe045a6e21efba168056ef47b165ef3100e382100f910c84dee972017de6355d2e9c0 EBUILD libcxx-14.0.6.ebuild 6948 BLAKE2B 203e04f4e2603ec0b8e3cd672ca2458c971e4ec3c1d24ea65f85db143561d349d9b7e4b4a58f7c57f5c0caa519e5a79f99f0a76c404aeba47b0bcc683adcb572 SHA512 c1a353dd558c68d439ab66e089e26993e66f1729f7879912413531bbd89318338649dccde1f84a32784de380997d2611d6b7cf86841feb47c3c0c8d67bfe28df EBUILD libcxx-15.0.5.ebuild 5281 BLAKE2B 416897d7d127c49d4c16c1c6f6f46efcc261c999fc875c4f59c006bb66b1b3932d367ae11b7ecc677133507b2e8db970d9fe88daf6e2f819b87e8d69c29d82dc SHA512 a9e357a6336b39c2079086de15bfc56da24cf38fbd7dce65eb2a0bde24ff56bb361cb03df819164179d793e21ad8800d80cb77a6f6872ed434a90c14b4030687 EBUILD libcxx-15.0.6.9999.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c -EBUILD libcxx-15.0.6.ebuild 5285 BLAKE2B b737c1012ceb5b1dea662aee148b674c1ea4e24b98f2ae338babe2b3a0e49462d6498052c096a343fe43ae05861d3ebd7b3b61f3867d80bceac5ee3fc87247b5 SHA512 561644b56b16630d28b8634a792eb9def5b5c8129150e7d4bdb376093f1afae71b2ac4be14048b96b7b5e0e4532e81cb52a6f7c294143e8e188e72a542add5f0 +EBUILD libcxx-15.0.6.ebuild 5284 BLAKE2B 4a39bdc17a4b6f4e61d5938a0269b7818ec38f0edcb2d5e42f53b31596cff42ddbfba4c17ddb8e3018c294055a872eadee55f9a7ee3ef4ec036e3e8fade24bb5 SHA512 4d7a3f4407a2570c447672674822032075538eea696bd80e2ec59b7b1410c4e46c45dfe3d8a579b246dd527a25221a0278c9c7e87a03868a269e498436c4d5c8 EBUILD libcxx-16.0.0.9999.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c EBUILD libcxx-16.0.0_pre20221126.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c EBUILD libcxx-16.0.0_pre20221205.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c EBUILD libcxx-16.0.0_pre20221210.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c +EBUILD libcxx-16.0.0_pre20221217.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c MISC metadata.xml 718 BLAKE2B 3cc1e43a6f1ada368cfc0bf8aaf49007f6792062b684ab9299b5180d778b158325b6931169b52dd14e85ae9ad6dc1a03be323b814fb920fe8434ad86425d699c SHA512 c2cef3e481c0c3db7de6de8c0a5aff42a1e7fe81155d99f1f0f0988f6d5ca041f787a27a2dde0073037d59e082e2f6da7eefe1303f1c1837ebc12e8e0d28729f diff --git a/sys-libs/libcxx/libcxx-15.0.6.ebuild b/sys-libs/libcxx/libcxx-15.0.6.ebuild index b326c5c5fc12..19ba647f3cbe 100644 --- a/sys-libs/libcxx/libcxx-15.0.6.ebuild +++ b/sys-libs/libcxx/libcxx-15.0.6.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://libcxx.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~arm arm64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86 ~x64-macos" IUSE="+clang +libcxxabi static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20221217.ebuild b/sys-libs/libcxx/libcxx-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..9b9bd5a335cb --- /dev/null +++ b/sys-libs/libcxx/libcxx-16.0.0_pre20221217.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+clang +libcxxabi static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=dev-util/cmake-3.16 + sys-devel/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + python-any-r1_pkg_setup + + if ! use libcxxabi && ! tc-is-gcc ; then + eerror "To build ${PN} against libsupc++, you have to use gcc. Other" + eerror "compilers are not supported. Please set CC=gcc and CXX=g++" + eerror "and try again." + die + fi +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # note: we need to do this before multilib kicks in since it will + # alter the CHOST + local cxxabi cxxabi_incs + if use libcxxabi; then + cxxabi=system-libcxxabi + cxxabi_incs="${EPREFIX}/usr/include/c++/v1" + else + local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" + cxxabi=libsupc++ + cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + # bootstrap: cmake is unhappy if compiler can't link to stdlib + local nolib_flags=( -nodefaultlibs -lc ) + if ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=$(usex static-libs) + -DLIBCXX_CXX_ABI=${cxxabi} + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} + # we're using our own mechanism for generating linker scripts + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=$(usex test) + -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt} + ) + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_src_compile + if [[ ${CHOST} != *-darwin* ]] ; then + gen_shared_ldscript + use static-libs && gen_static_ldscript + fi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxx +} + +multilib_src_install() { + cmake_src_install + # since we've replaced libc++.{a,so} with ldscripts, now we have to + # install the extra symlinks + if [[ ${CHOST} != *-darwin* ]] ; then + dolib.so lib/libc++_shared.so + use static-libs && dolib.a lib/libc++_static.a + fi +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +gen_static_ldscript() { + # Move it first. + mv lib/libc++{,_static}.a || die + # Generate libc++.a ldscript for inclusion of its dependencies so that + # clang++ -stdlib=libc++ -static works out of the box. + local deps=( + libc++_static.a + $(usex libcxxabi libc++abi.a libsupc++.a) + ) + # On Linux/glibc it does not link without libpthread or libdl. It is + # fine on FreeBSD. + use elibc_glibc && deps+=( libpthread.a libdl.a ) + + gen_ldscript "${deps[*]}" > lib/libc++.a || die +} + +gen_shared_ldscript() { + # Move it first. + mv lib/libc++{,_shared}.so || die + local deps=( + libc++_shared.so + # libsupc++ doesn't have a shared version + $(usex libcxxabi libc++abi.so libsupc++.a) + ) + + gen_ldscript "${deps[*]}" > lib/libc++.so || die +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index 0e4f4de90595..b1428d2e151c 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -7,14 +7,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD libcxxabi-13.0.1.ebuild 3468 BLAKE2B 0da66a538e0efab041fa5f56c31a116c9274bec95aa18f10b5759d6347e3e864922207cba0ddc6821eadad4243c247b01869d34f42e34c213f410896f5ac5b8f SHA512 2eaf47c438cae3b024eb64cecedf2643ff2ecbd35610d5cff6fb2f06847af766ff105d4923dfaf2f4d014944f2ef3ac54edd5f7c83e31d49c071ac57f56cd38f EBUILD libcxxabi-14.0.6.ebuild 3384 BLAKE2B c7091fc3a025d186909465ea46508b4cc22bfd5bd5156ed7b007c04e5fdb8c80565274ba085ffd5f8bbba2b9182ab3cff0e0c042346f4a04184b0cfd6e5a5d48 SHA512 92f71c9fd82a430c7bb6ecae347b6dff5739c825194731d877dc55f4be302cafeeac66cc2e24b6aa7f0a248af950305628b6ecbf2f6ffc70dce86b6723b75d27 EBUILD libcxxabi-15.0.5.ebuild 2909 BLAKE2B 653771bab6c9056095f905d4462471d998a0991ca7034470bf178540b16f2cb845ad50dbb46e2c88355214950d765bd14cdde85afe4cdf790e099491df514c6a SHA512 ecd8c372af0572c9bdb74699ee834d961dca3b8c3209172549f310c0a38c4649642497d01afa1e23f42c85df486fbffb9433d89b105f3d38dd48d71289d9735f EBUILD libcxxabi-15.0.6.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 -EBUILD libcxxabi-15.0.6.ebuild 2913 BLAKE2B 9177a43a2f35dd03091af111c399ae011a0abd5b86cec1b954e4ed9ff0ea906c8d9631e7ef6dc05dd523f34e7b6510d0245abfad2fc884a7c615d8602cfb20c7 SHA512 d843f53f30ebdf0181be7a2864f59614d69454d500e1f1db7efa11fa5a95247f25a96c8359ebbfec5d1a3130a98b5c0c94c833785a1c513c9af06f421b68027d +EBUILD libcxxabi-15.0.6.ebuild 2912 BLAKE2B 952b4e0cf81a81c8a9e7260110b479783d72b46ac7ef8a99e29bf651e5cd01717584b67afb4e639dd9985eafcfaa26fbf4238631596efd7b0070ff536be1e35e SHA512 f6c271ac3977888977369b6e489b64a5afe5985b7755a8e6c4589301834db4eb44d47b3a8fdd97ad5f3aaec60ea306507d622e3a8b12510064da255299396805 EBUILD libcxxabi-16.0.0.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 EBUILD libcxxabi-16.0.0_pre20221126.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 EBUILD libcxxabi-16.0.0_pre20221205.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 EBUILD libcxxabi-16.0.0_pre20221210.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 +EBUILD libcxxabi-16.0.0_pre20221217.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 MISC metadata.xml 557 BLAKE2B 4f6b0acb7cfdf74971a6fd96051d9f9020141c6117333a8de42bd043935b7bff8d9942faabdf3b1c94597c460393f64eb7d3f7b7d49f39ecfd0094de460f563e SHA512 67a812ef768e681ae77ef6e13bccffcbe53b41e94901f0558b3c7acaf896605ca670c4bb5a690bd9afa3b5a76271341710520a6abc0024c18f437fabde20e847 diff --git a/sys-libs/libcxxabi/libcxxabi-15.0.6.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0.6.ebuild index a793892b156b..c28513fb8bd7 100644 --- a/sys-libs/libcxxabi/libcxxabi-15.0.6.ebuild +++ b/sys-libs/libcxxabi/libcxxabi-15.0.6.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://libcxxabi.llvm.org/" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~arm arm64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86 ~x64-macos" IUSE="+clang static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" diff --git a/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221217.ebuild b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..8d8f8212d31e --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20221217.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+clang static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +# in 15.x, cxxabi.h is moving from libcxx to libcxxabi +RDEPEND+=" + !<sys-libs/libcxx-15 +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # darwin prefix builds do not have llvm installed yet, so rely on bootstrap-prefix + # to set the appropriate path vars to LLVM instead of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version dev-lang/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +multilib_src_configure() { + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + local libdir=$(get_libdir) + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt} + + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_build cxxabi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxxabi +} + +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index ed39064c8c8c..dd18d1e2cbb0 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -9,14 +9,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD libomp-13.0.1.ebuild 3907 BLAKE2B 46ed471cb355b70f78b59faeffbcc5148d47a3b971818c831e7b155f4f0973238fdbfb5f2fa91913fef93e01beed45f42b1158af92e56cd8445c4a8157508bb7 SHA512 13f150c5223689e4d98e16cafa11e44164b177eb68d3df213582b85c5194e7f736143b49b2075f4178689efcfa8320e2b1faf34242c09dbfcda923b443d42741 EBUILD libomp-14.0.6-r1.ebuild 3917 BLAKE2B 23460d17ef5b7e107d8be1bd1c37028d69fda2e151e7d8f7f0c6d23dc00336f5a503a4e8e692b4203f3e4219fde6f96f9d30d4c7fed0348066f8c603636cc39b SHA512 aa9e9985a1941fe5c33b998d81bfdd838dbe965d5c82e20e366d2cf7a08db24feb2f3f7633740bea45a3685049d1593df6465b8c785b9a87c197402f559b26ca EBUILD libomp-15.0.5.ebuild 3400 BLAKE2B 4e953541edede2f6a71b037853830db5ee78e7fdba08a4bedd4f4ab926c5d5c253c4e128625913038cf189862a9231f0dc2187feb95f65c893fd361be948f3ea SHA512 3ca5754ffba8fc6c0c5cc8e871853254b788d188063a751850b3941d6b969461f991951fa40ad6ae3ef86133e65d9bef63d06c0d4f8986ca7e8361bafc1c9e29 EBUILD libomp-15.0.6.9999.ebuild 3339 BLAKE2B 4fb077e0f5195f1c2fef3691aba3e8b674d340df9f3d1de8c9962a03267662bcf55a43af75db6e3ab5121de6c129c7f7514c127ec27c3b940cb2fbbf619788d4 SHA512 49aa1cb488a8e428892dd3b74a82462206e9c11e139b5b9b8e2edca496279c274f81ece0dcb9e71eea43c4e6f99ca4aacd5bdc48e4595743b7f98e7a1f7ae3d9 -EBUILD libomp-15.0.6.ebuild 3404 BLAKE2B c4e087872718c115109054084f4bfe9b916616227f8e31ad38fa00fcedeeadd88741fca06bf2cdd5c0d53f6fd2d33118a54d7217a3e73262dc23c7169838aec0 SHA512 85beadaa9b29b1274bd14787e4f7c63ac471e4397c186bac4f8886a66235d20bc5b99644a24a43d901c895a89c36b4df49289bdd6da343a9db9a481bf6bc5f82 +EBUILD libomp-15.0.6.ebuild 3403 BLAKE2B 88879a154fed58720306fe4cf1f60b84a8f9b521d277949123f8dcd91ff33325b3cb6686bb6c273d1c107242b0503d9004a4218dc40114fe34a11534c76b478e SHA512 00cda7988e0495c559fb850728da27b32af84415a095da7cdcf0271243a3bac37b07ac52a392c49be21df03c284c81b19390963ae6548acfa84622e2fd3a2c1f EBUILD libomp-16.0.0.9999.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae EBUILD libomp-16.0.0_pre20221126.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae EBUILD libomp-16.0.0_pre20221205.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae EBUILD libomp-16.0.0_pre20221210.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae +EBUILD libomp-16.0.0_pre20221217.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae MISC metadata.xml 963 BLAKE2B fdea4545db21492049061b85eaa7038965183e10aceae7c41daadc1ce10e7e1bcb2e86344659787ee244360b50b51c99e1a348d3acd2185dac80097541a00dd7 SHA512 c279f8e9c2463dc3f6e02856e520105d6f3321b633439bfe7409bfd6e7e43f1450053dc4f6663492caf7077caf3f4ab0f5cf0161631639e3aefa9ff985dc476f diff --git a/sys-libs/libomp/libomp-15.0.6.ebuild b/sys-libs/libomp/libomp-15.0.6.ebuild index 35098e19d028..338bed1402c6 100644 --- a/sys-libs/libomp/libomp-15.0.6.ebuild +++ b/sys-libs/libomp/libomp-15.0.6.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://openmp.llvm.org" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0/${LLVM_SOABI}" -KEYWORDS="~amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" IUSE=" debug hwloc offload ompt test llvm_targets_AMDGPU llvm_targets_NVPTX diff --git a/sys-libs/libomp/libomp-16.0.0_pre20221217.ebuild b/sys-libs/libomp/libomp-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..3fd312c5eb2c --- /dev/null +++ b/sys-libs/libomp/libomp-16.0.0_pre20221217.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit flag-o-matic cmake-multilib linux-info llvm 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}" +KEYWORDS="" +IUSE=" + debug gdb-plugin hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gdb-plugin? ( ${PYTHON_DEPS} ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) + offload? ( + dev-libs/libffi:=[${MULTILIB_USEDEP}] + ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}] + ) +" +# tests: +# - dev-python/lit provides the test runner +# - sys-devel/llvm provide test utils (e.g. FileCheck) +# - sys-devel/clang provides the compiler to run tests +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-lang/perl + offload? ( + llvm_targets_AMDGPU? ( sys-devel/clang ) + llvm_targets_NVPTX? ( sys-devel/clang ) + virtual/pkgconfig + ) + test? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + sys-devel/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +kernel_pds_check() { + if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then + local CONFIG_CHECK="~!SCHED_PDS" + local ERROR_SCHED_PDS="\ +PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11 +< 4.14-pf9) do not implement sched_yield() call which may result in horrible +performance problems with libomp. If you are using one of the specified +kernel versions, you may want to disable the PDS scheduler." + + check_extra_config + fi +} + +pkg_pretend() { + kernel_pds_check +} + +pkg_setup() { + use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + if use gdb-plugin || use test; then + python-single-r1_pkg_setup + fi +} + +multilib_src_configure() { + # LTO causes issues in other packages building, #870127 + filter-lto + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + + if use offload; then + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + mycmakeargs+=( + -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU) + -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX) + ) + else + mycmakeargs+=( + -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF + -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF + ) + fi + fi + + use test && mycmakeargs+=( + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="$(get_lit_flags)" + + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" + ) + addpredict /dev/nvidiactl + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-libomp +} diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index 73ceb3cd47b4..b85087566ced 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -8,14 +8,16 @@ DIST llvm-project-15.0.6.src.tar.xz.sig 438 BLAKE2B 3c97dbd55667f52dad964ef71257 DIST llvm-project-959c9cc7acf4d0aa433f2436e2a45b782e18022a.tar.gz 171575300 BLAKE2B 090d41a8913f8e061d297e66ca653d95e18b8da744464d7085d7a199c0a444753a82b6ff6503e142aec81be01b419323cdbe3709497738df74afa886d69fd63d SHA512 fc3b26e148ead7a07b4d1509909a42712a43b179da435b052c26a237b0d2ae88c3c8d76eaa93c415be1ed0f0b5fb55e0ad92f427a18d70bc9634a6e7d1b6a4d9 DIST llvm-project-d5987fe324fcaedcea12914d6f9644cc5329f364.tar.gz 172157522 BLAKE2B 3c201380e727f7db53d61ff7c411b85aef8b17f086bca0cf3e758284a92a9ced298584e6f92ac6a35f30231d59c916bb98d41a8939f9b1103996c9e09df32ec2 SHA512 dff559b1518bbf9c469a2f4624ba9e83d81df2f08223afc696fa7f3dc9fe1c0d4a17346db8946fb56806e12aa7cbddda8df05b032ffe29dafd8a66c630de0016 DIST llvm-project-e99edb92356b5ba078b5bc4d5846770414586a1d.tar.gz 171822327 BLAKE2B cdaa704c9f238f34751b92df92f8a767b1204f868dfd8a6f1eb3eeacaaf9c4b63c55a7c0534af124fddb65cf80263f72b79190696c8077e2990984a84a040f2a SHA512 37f45a56d6086df60c9832b75da3b2d78b8ec0fe094f07d41695f0565e4de0c13e460b1fef495864f07300d41f5b32769f0862b0fa5d53c0db9a0ccec1a09072 +DIST llvm-project-fb792ebaf2114ad11d673cf891ae560e2e604711.tar.gz 174312496 BLAKE2B dd7f30b911ef5049e9e2bff7b2768e31b48b1f4c7acaf159f535fe3deb5aa6630fdf7857c83fffcda1119a38a52101490d2b6cb41cb295bb7dd85cde0445b7ee SHA512 bef15e7d82a2faf8be24f784d3d34ff9b21c8f17256879587ea5471011a32a1eb885e1b020da55aa096f2e0b5fe4bcf9fe8f0f5b5d34f5f386c48899c68fb7d1 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD llvm-libunwind-13.0.1-r1.ebuild 3772 BLAKE2B 8da1185d1b1c71fe4a84cf068847cdf86f210c181e5f745b3ed05635b8f2824ac7aab931a8066cf199c93553fe4a3a0915972f854af1e09b1a2411f66fee834d SHA512 736810a5a52be3271854a50b476874986618e79fb24022ae3188c68759b31b75071083db9a5c9ab8f9439edff3cf7df2e4a20a847ad330984796ed747eb1cd4f EBUILD llvm-libunwind-14.0.6-r1.ebuild 3161 BLAKE2B eba3be4b7bafe6a69329f7f565cf33fe3315949dd3e0a007079e1fb040bc746c9beec20c763c9c10fdc7eb7cd8cfc14053138594dd47db13df51dc3972365639 SHA512 83dbd99c4825aeb0aaeb3910af22717637a1be1ced85972381ea091183ca6ba128900511b26dedfafb4ac492d80ba3cd0982051fd71f5e72375af7e160da1f9b EBUILD llvm-libunwind-15.0.5.ebuild 3032 BLAKE2B e9cdfc38c7a89f7ffb82c051e827f744c404db5a4bd738c2ee978e65bd96ae1afef0c7be9f51a87cf7d1860280aed90fbc0d248c332383ef9eedb4b308eb2f8b SHA512 c2fa624f80073140a765c809184c351a41883f2b1bd0b999c5c4796e0317627a56df68a61c2457c98fc119e167f77b1d9eb4dc1fb996c7ad5b1bb1c94bd25088 EBUILD llvm-libunwind-15.0.6.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec -EBUILD llvm-libunwind-15.0.6.ebuild 3037 BLAKE2B bf408ecf9534d82f420f5c13a5d978a34c456da98e1a5b1aed58ac194bea2082cfae058b98abac86ffd2b96bf2f347378167730b5f0fac0c55a137261ed84133 SHA512 0529ba6f2b35ca90b8eb9ee46f84b6935d1653bdcd4e78853892302eb5484bbbf82d29aae1388b3728a426906d7ba923678a4533e2efda4b6a22b4dbdce1c830 +EBUILD llvm-libunwind-15.0.6.ebuild 3036 BLAKE2B f59cadffaf0f4e3daa329a5fbfe0a11d442bdd126347c6b6e3ffb8f18569d84fb464d9bb687c38e43cca39414cd95628be94e13982044393375660dc38ffb670 SHA512 286d83a0cc657015154abc57525e84ddc01f19a601136502fd6bf131869e77b32636191735fb83081659ede38243478518e0f168b27b4f2a1aef73adb0239aec EBUILD llvm-libunwind-16.0.0.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec EBUILD llvm-libunwind-16.0.0_pre20221126.ebuild 2984 BLAKE2B 70388834a22670c4e426529ec11a167301c730533249543cdbe07d9ed6a52abb796aaf302b0e22715b2655b33261f36d6a67fc2a348c0159d92ff361dc204eb6 SHA512 693ecb366b56a282ce17bb820c0b4c04c4c3ca7c46e8514d8572bb1ee28356cfe5e717138ed8fd38303c378013a96de31ced2143afd6f9dde4298aa49af8746e EBUILD llvm-libunwind-16.0.0_pre20221205.ebuild 2984 BLAKE2B 70388834a22670c4e426529ec11a167301c730533249543cdbe07d9ed6a52abb796aaf302b0e22715b2655b33261f36d6a67fc2a348c0159d92ff361dc204eb6 SHA512 693ecb366b56a282ce17bb820c0b4c04c4c3ca7c46e8514d8572bb1ee28356cfe5e717138ed8fd38303c378013a96de31ced2143afd6f9dde4298aa49af8746e EBUILD llvm-libunwind-16.0.0_pre20221210.ebuild 2984 BLAKE2B 70388834a22670c4e426529ec11a167301c730533249543cdbe07d9ed6a52abb796aaf302b0e22715b2655b33261f36d6a67fc2a348c0159d92ff361dc204eb6 SHA512 693ecb366b56a282ce17bb820c0b4c04c4c3ca7c46e8514d8572bb1ee28356cfe5e717138ed8fd38303c378013a96de31ced2143afd6f9dde4298aa49af8746e +EBUILD llvm-libunwind-16.0.0_pre20221217.ebuild 2984 BLAKE2B 70388834a22670c4e426529ec11a167301c730533249543cdbe07d9ed6a52abb796aaf302b0e22715b2655b33261f36d6a67fc2a348c0159d92ff361dc204eb6 SHA512 693ecb366b56a282ce17bb820c0b4c04c4c3ca7c46e8514d8572bb1ee28356cfe5e717138ed8fd38303c378013a96de31ced2143afd6f9dde4298aa49af8746e MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.6.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.6.ebuild index bcb9ed1575d7..5bac262776c4 100644 --- a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.6.ebuild +++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.6.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" SLOT="0" -KEYWORDS="~amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" IUSE="+clang debug static-libs test" REQUIRED_USE="test? ( clang )" RESTRICT="!test? ( test )" diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221217.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221217.ebuild new file mode 100644 index 000000000000..7950708766b5 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20221217.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="~loong" +IUSE="+clang debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + python-any-r1_pkg_setup +} + +multilib_src_configure() { + local libdir=$(get_libdir) + + # https://github.com/llvm/llvm-project/issues/56825 + # also separately bug #863917 + filter-lto + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} |