diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-10-18 19:56:57 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-10-18 19:56:57 +0100 |
commit | d1262423b614597cd55d30370eb8de6bfa8f0899 (patch) | |
tree | 1a5f46b31c19b0bfcc840ab7a6ee06d7aa161c87 /sys-libs | |
parent | cb9a501c2ed1312c376917c1cbfc79542d799806 (diff) |
gentoo auto-resync : 18:10:2022 - 19:56:57
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 14395 -> 14406 bytes | |||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.3.ebuild | 219 | ||||
-rw-r--r-- | sys-libs/compiler-rt/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/compiler-rt/compiler-rt-15.0.3.ebuild | 150 | ||||
-rw-r--r-- | sys-libs/libapparmor/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libapparmor/libapparmor-3.0.4.ebuild | 2 | ||||
-rw-r--r-- | sys-libs/libcxx/Manifest | 3 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-15.0.3.ebuild | 204 | ||||
-rw-r--r-- | sys-libs/libcxxabi/Manifest | 3 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-15.0.3.ebuild | 116 | ||||
-rw-r--r-- | sys-libs/libomp/Manifest | 3 | ||||
-rw-r--r-- | sys-libs/libomp/libomp-15.0.3.ebuild | 131 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/Manifest | 3 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.ebuild | 123 |
15 files changed, 965 insertions, 2 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex 778bb25b03ff..330dc8d0fbb2 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 63a86ef3c872..316f5ada105b 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,18 +1,22 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 DIST llvm-gentoo-patchset-14.0.6-r3.tar.xz 16904 BLAKE2B ebf67455071d6d3744cfc0491b8a33c4c63bfdbcf668565fa0718f6cdb01bced53be9d1cdf6774f6cd8427c07c0ede69503d74cf3574642a6967b38730248ebb SHA512 adc5a3212657d1defa7b720d1a7e9e91586439a34964d44b6897d21be3d208bd15c04bf20502dd7125ef8c368defaeea146eb844ca321be56eebcee52be606a9 DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569 +DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 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.2.ebuild 6403 BLAKE2B ea9f3840de1121966b17fd4859a5915466e6f56670c0fb8966e3706c2054f9e298fe63ca55aad6d2f1564c2b5f31b38e89c383e66a607fbf4f3afaf12516cd53 SHA512 10e8b499cba821148e0af86231c0c6ac22f31cacef898b3b385cca2384deb13ac2e183b7acf209b13052f6b7dc788026328c6559e03bbaa582012efeaf66ad76 EBUILD compiler-rt-sanitizers-15.0.3.9999.ebuild 6363 BLAKE2B 640625391bc73444ed357c25028b641351e5e4f2661271e2d762a9d0a8bbf70a916018c82ddabb25f95679121eea1f35726e011f12d99bb88f1aa6aafef9f5ba SHA512 0c9b3e50c61cb6129fcc20e2fc08f7d32fd2ee180d2bad3e6ed9c7b71819320af9c74457332afac8c14b476d18b47ce7a353813e7bb29e0a568771d314f9c46a +EBUILD compiler-rt-sanitizers-15.0.3.ebuild 6438 BLAKE2B 365a74be34dd43bb83e1eb3be7e643899baea439b56fca5b497ca3e92e001343de9a03d592b956c279d4994c805a5d975601f5f7750c8d099e2d446ed7e8b2eb SHA512 7a3836f239bf8053a07b38e112056506e3e3da363874fcb70d7a74bc72bea6a0298f08e97f3a73b5d3c1c4af57fdb692567fdff7775e5bcdff01eabfd2f962cb EBUILD compiler-rt-sanitizers-16.0.0.9999.ebuild 6322 BLAKE2B a6c3057587f87750a2ef204d1504ef86e579bb1c8eccbb366563a4c5899ee9357ed211affe9190c44bfbe397ee54dc7b05622a693acae8aa32ea2b4ef36c33be SHA512 bdf5995cf3973ccf9f5d5dd4baa1a8424fa01d9f95cf44a4c656e66bb98e81359a794b95603f29532675c5247b3f472b1c1fdb79066dfde8e7a383ab5929bf13 EBUILD compiler-rt-sanitizers-16.0.0_pre20221010.ebuild 6322 BLAKE2B a6c3057587f87750a2ef204d1504ef86e579bb1c8eccbb366563a4c5899ee9357ed211affe9190c44bfbe397ee54dc7b05622a693acae8aa32ea2b4ef36c33be SHA512 bdf5995cf3973ccf9f5d5dd4baa1a8424fa01d9f95cf44a4c656e66bb98e81359a794b95603f29532675c5247b3f472b1c1fdb79066dfde8e7a383ab5929bf13 EBUILD compiler-rt-sanitizers-16.0.0_pre20221016.ebuild 6322 BLAKE2B a6c3057587f87750a2ef204d1504ef86e579bb1c8eccbb366563a4c5899ee9357ed211affe9190c44bfbe397ee54dc7b05622a693acae8aa32ea2b4ef36c33be SHA512 bdf5995cf3973ccf9f5d5dd4baa1a8424fa01d9f95cf44a4c656e66bb98e81359a794b95603f29532675c5247b3f472b1c1fdb79066dfde8e7a383ab5929bf13 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.3.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.3.ebuild new file mode 100644 index 000000000000..a890877df54a --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-15.0.3.ebuild @@ -0,0 +1,219 @@ +# 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_VERSION}" +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" +# 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? ( + !!<sys-apps/sandbox-2.13 + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_VERSION} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/unittest ) +LLVM_PATCHSET=${PV/_/-} +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_VERSION}" + # 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_VERSION}" + + -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_MAIN_SRC_DIR="${WORKDIR}/llvm" + -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_VERSION}/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_VERSION}/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_VERSION}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_VERSION}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${LLVM_VERSION}/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 c3524bbf5a45..2fed64fe1696 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,12 +1,15 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c DIST llvm-gentoo-patchset-15.0.2-r2.tar.xz 16356 BLAKE2B a2a4e61b4e44db2673429c66e456b74ce6e2c875662ef4ba9b0c4f49c6e453e7171238517269f8724fe33e3258e34d1f4cd37b57a7108c5ea35156a2b3a333aa SHA512 e654c543b1b169b4e0fe33b8ff7da163a1e7b43d9c82218968189221aac25efc8a1ef309edf5024af8ea69aea18148dde484443951cb8072ebf68d2e590d2569 +DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6 DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f EBUILD compiler-rt-13.0.1.ebuild 3880 BLAKE2B 83202517f413772d355aa49b5a3bd8b7000c86f6538da1a5ae96de5e84bc7536d0e639b530d1f504dc68b769565504434cc80d25426207b19283b9bc41df3388 SHA512 fe5329aee6c29d408c67af9e9891205fcdf313676780b948975f94ddce31b3f54e68cc041233c81b3005ff94f7685dcc09044f3634760d90e8c18c61f63651c3 @@ -14,6 +17,7 @@ EBUILD compiler-rt-14.0.6-r1.ebuild 4248 BLAKE2B 8efb13b1c805b5178f01036e5ec3b9b EBUILD compiler-rt-14.0.6.ebuild 4030 BLAKE2B 9881380671f25916b7a9356e14b45fd30b7c5cf5263fcf975b0d5ce0333389d519457dabaf1ac8dfc55f5206594335a5f996adcf26880f8a30c8a5ab99c3c391 SHA512 1ec4d79d5d319c5345caa7399c4d4bee5416af3952b9936f119764e17b1c05c25cc818a0c123c8b55ee31503e633999384d0a227a6c84d380cdbdc169f0f43ea EBUILD compiler-rt-15.0.2.ebuild 4261 BLAKE2B 1a632e00f5dd36c161f2df23dc7c9292429ce18f5df652480eba6592b4dbc72c0dc0154c40403e378a641e63af577357dc349175492cfb4b17534dc26b71e48c SHA512 d4cc5d0c50cb16ff74a74feee38f9430e930c76b57b6b038bf5c729159bc1af2263daf16cbe22b04d85393ee79b818975285a0330849c57274343cc4250f9ea8 EBUILD compiler-rt-15.0.3.9999.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153 +EBUILD compiler-rt-15.0.3.ebuild 4264 BLAKE2B 7411477bbdf896d3cd8bd112b0aaf0fc92b21813b2808474571f90eb1b2bdcd1e617b6262267c3adb90c9993c7f0e5d326aac1430440873cbb2be1644499c156 SHA512 0dd3a2e968a4698bff0d617b710046e824fc219ce33998012cdf0bb62c56e2ff159122e39c0203a042e59c5f7f693dae8ea5dcccd4115871e0bd8b54f01469e0 EBUILD compiler-rt-16.0.0.9999.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153 EBUILD compiler-rt-16.0.0_pre20221010.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153 EBUILD compiler-rt-16.0.0_pre20221016.ebuild 4189 BLAKE2B da1b3444520bbb7a83569b65d7de338678a52b2aec70d29afee47142a268fb76310419dd00d1420445d2f30d3f567cf2bfe9e89cf89261843742094d477a2ef6 SHA512 d29905eca230cdba53aa9d63d1ccb68608b4ca74c4a6c3fbcab60245685c363d93e28ea3dba67f632c85964571da5c812ab8ca6c6be2bf97d06c93c072f75153 diff --git a/sys-libs/compiler-rt/compiler-rt-15.0.3.ebuild b/sys-libs/compiler-rt/compiler-rt-15.0.3.ebuild new file mode 100644 index 000000000000..044c81a79eb4 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-15.0.3.ebuild @@ -0,0 +1,150 @@ +# 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_VERSION}" +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 )" + +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_PATCHSET=${PV/_/-} +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_VERSION}" + + -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/libapparmor/Manifest b/sys-libs/libapparmor/Manifest index 4a2f8186e23f..15ee9d3a95ae 100644 --- a/sys-libs/libapparmor/Manifest +++ b/sys-libs/libapparmor/Manifest @@ -1,5 +1,5 @@ DIST apparmor-3.0.3.tar.gz 7790012 BLAKE2B aada9c32c2cde4a110cbd1d626ec00b08e29e76182185752e5c23e2ec0c2668a732ffdf1eb1660bd8bc294188ccf0da42b4282939f5969a6aed39084be00769c SHA512 bbf26377e60da60dab56473ee5af15aa0f3fdf2f2a61dbfcdeba12a925afda3bc6a0f6cc31e07927400425b8c3b3649833f448d8674044c7274ef06923ab48b5 DIST apparmor-3.0.4.tar.gz 7796852 BLAKE2B 831ea65ed0972ad8a6e335e438e7b0a8a2a3977dc4360ad1923d48cc7b21b1941ec011d3894d8bdc98934b953a3f1d89a859fc27ec2530f5dd9b3cc850fe66f0 SHA512 1edd800771f46fab9bc5274842e64482b7fd4a5ba4de9855d621baf1d08c8236bfa7752dd9ab3dee095f8e0798129241a9aebf68ed1c994ae5597086a4a1a8ca EBUILD libapparmor-3.0.3-r1.ebuild 2128 BLAKE2B 129a951f9349f312bc2a3e4c4bb6dd79e71f4ff7c044bd3cc680c40f91283017fe789c9c03706bcbfc6475bb17ba8c526a2258adb8155ca2642f99776394af15 SHA512 cb3b608a0478ded301f2146dbd2dd74357bfdf5f09cf5a68c152e4369e68c3bd8372377f92d6072fe1a82e1efd80497f46a413e3da2776dc1f55d4a8a2614929 -EBUILD libapparmor-3.0.4.ebuild 2389 BLAKE2B c1c673d3320531a840f8f148bdb051d39260fdfb2028eaf496a8c3d454eff2b33e78cacee7597845c2523f83052463edd6f888ed22ab86fb04afb0609dd50416 SHA512 c03e441a8ec97a24d3dc9bfda0310f1df063d9313b776a6631843efcd146676d5a55479b7635898b62151b0699f2b16ca93ffe23b26f9082307bf21c15afa7d8 +EBUILD libapparmor-3.0.4.ebuild 2396 BLAKE2B fbc2ddea65f11151838f6cb7ea94bb19b00f24820659449cda2b213e32b0a600fb58c478e9ab0a40862c7ab8a62ae3562254f6d2c2bb09c1e1ed762decabc035 SHA512 4185f8d807501506b562aa6818d3e451bb4d505b4a6d8abe3972dd5382bc9181e2dd478c4cf27b1c3ea41b6a80a6045058c0fbf02703774a0099725c4b5329c9 MISC metadata.xml 442 BLAKE2B f38f58b9dd0a309fcdcc3777cc497167fc8c6e313e78b148673b112c9408f8842d1d63891737ec5fb8754720d03c54336733a94aa429a4238900f02144cf732d SHA512 8e3c31f63edbdda6f04ebd7358fac18ae8d1a739af83b1a6aadec7c13f1649646c273d7bbfacce6a1d8920a165797cb48431a108481750680491c24126e404ef diff --git a/sys-libs/libapparmor/libapparmor-3.0.4.ebuild b/sys-libs/libapparmor/libapparmor-3.0.4.ebuild index 4ff695d242a7..46759e82e40d 100644 --- a/sys-libs/libapparmor/libapparmor-3.0.4.ebuild +++ b/sys-libs/libapparmor/libapparmor-3.0.4.ebuild @@ -17,7 +17,7 @@ SRC_URI="https://launchpad.net/apparmor/${MY_PV}/${PV}/+download/apparmor-${PV}. LICENSE="GPL-2 LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" IUSE="doc +perl +python static-libs" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index b5d6d6f06812..5fe6697f275d 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -5,12 +5,15 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 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.2.ebuild 5547 BLAKE2B 3d073fa67bff7613b745319377c0501d266d753b646fcd68796e7d5964948492265037769af8b038fbfa970b5ae15490ef29796fd3d155aa96aba6225d82a537 SHA512 4f935fb16074c3ab538fdeaa06af8d8d0683d6caf10d32568a73d560bbd798769f0985b98f4967a7c6a724b124a20ea8db39c7c2715543e54ebc6ed32e74c8cf EBUILD libcxx-15.0.3.9999.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c +EBUILD libcxx-15.0.3.ebuild 5286 BLAKE2B 6de2e2e79fdaa428d3b8a3aa667168cd99725c718e1ddfbd2cb4e2d07d263a6a0a5af17f57d3c91e914c2c15183592c643de4fa8fff7df6ffb3674d7f811bc9d SHA512 e17d1c1777dff3c4f7a3608ddcb6194b652cebd2f99f4a93a87041c6d2a1d58840f823c1befc7d262ec2d7f9cb5d097d0b542faddbf509cd16965ecc78a9462e EBUILD libcxx-16.0.0.9999.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c EBUILD libcxx-16.0.0_pre20221010.ebuild 5497 BLAKE2B 600c9ebf15d6327505a68fa7323b4f022daa4608fb22b85844561896eb7383758466018efaf11c0c59f4300149dab4c56504f4e3625b51751951a27785a7863f SHA512 f5ea0b524ea0568287007e1f031138b393b510d9ffa7557294d6dfb9dcc4ce89102682bb4047cdcbf9d467e829e46a705cc740db65c70d29bc87a52a9a1368ba EBUILD libcxx-16.0.0_pre20221016.ebuild 5238 BLAKE2B bf9c8df5c949f999fdcfad82deb548231c5ef16c25b55c76fcdf3e8fa2e5c3be90fd6ceb4c747fb639de46ef2d192b7317ebf435dfcff44ba9ca5956e59012cf SHA512 519779336613cd1110194d8a7768d2e8c3f286c7ad72da87937bae694f1830dcbec686e2b8afa212b29a3d3406a504fc903e09599a4dc7c99f277ee8f5193a1c diff --git a/sys-libs/libcxx/libcxx-15.0.3.ebuild b/sys-libs/libcxx/libcxx-15.0.3.ebuild new file mode 100644 index 000000000000..8b5e382b8889 --- /dev/null +++ b/sys-libs/libcxx/libcxx-15.0.3.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="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86 ~x64-macos" +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 20af96ca825a..596c84c79e0d 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -3,12 +3,15 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 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.2.ebuild 2916 BLAKE2B 970811e1a0000e719236df80e0c046b67f0190f60daa6e8b25ac05213f94ac6697d0c7af2a5533ac920ace3664ccd62b799b376ad0a141cd6636891b51e33e7e SHA512 47f4c107a4e574381860a38fb7b34966f1205a7c6e5017b2b074d0b7f503eb3c1045e33bc748420cad30ab80a08b2decac4b57256e417566de99f7a8ecc31a0d EBUILD libcxxabi-15.0.3.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 +EBUILD libcxxabi-15.0.3.ebuild 2914 BLAKE2B ebfb1baccb81d321dca037a620e0b87f5203b1e1a3da68bb8ff7276e23dc435d0effbfa8b8684adf3e41d15d576c6019153ec49ae21ff158b41f4ab9e601fda0 SHA512 822f1e85e15a58fa7d096983aef9cb2b881faf276ac6f133b836c16d783cba3e9950f5976b103ce4bb0ed3c7dfd1409fd3c88bdcd81fda822e7b4a0e2b973956 EBUILD libcxxabi-16.0.0.9999.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 EBUILD libcxxabi-16.0.0_pre20221010.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 EBUILD libcxxabi-16.0.0_pre20221016.ebuild 2866 BLAKE2B 00dc8f0473e5a8081727c83e3fc5459dafc7c680a68f7b237be5f3c8da6cee1916748083e3baf4fda71af8b55dfecb97d7a195b35d4958b8376dc7777df328a5 SHA512 f0f14175c68e080b199d8bcb62fa1387e1b6755bd804dc342dcaf671b84d9dfe29cf8a3559acfe0c9308a73e61416944519b94839c736837fd4bea059c91ec91 diff --git a/sys-libs/libcxxabi/libcxxabi-15.0.3.ebuild b/sys-libs/libcxxabi/libcxxabi-15.0.3.ebuild new file mode 100644 index 000000000000..b97740de2fbf --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-15.0.3.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="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86 ~x64-macos" +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 66f9e3ced627..8e46d289e9b9 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -5,12 +5,15 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 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.2.ebuild 3387 BLAKE2B c61c0fc5f15d2743dadada477d545632aa2f9fcafe87eb5430759388777622e1c75f01450b9a73bc8c2dbe0ec30ca06704b15ea9de44d3b85b7667e656dbb988 SHA512 96ed59bda11b08894843c0bb0ecc55a8556b0da4c28027ac5097f3e2358f15c8dbb2aa18cc19236bc0b6f75d3d55d21c2608d7aec207fddaf2da6f8532fa9d7a EBUILD libomp-15.0.3.9999.ebuild 3339 BLAKE2B 4fb077e0f5195f1c2fef3691aba3e8b674d340df9f3d1de8c9962a03267662bcf55a43af75db6e3ab5121de6c129c7f7514c127ec27c3b940cb2fbbf619788d4 SHA512 49aa1cb488a8e428892dd3b74a82462206e9c11e139b5b9b8e2edca496279c274f81ece0dcb9e71eea43c4e6f99ca4aacd5bdc48e4595743b7f98e7a1f7ae3d9 +EBUILD libomp-15.0.3.ebuild 3405 BLAKE2B e794e2ff98eb12991f899b50750624fa08f6b20dcde51e1be56f3f2c4a0a0e70fc157079fe14147334535b7f8388a704d6b4dd858e94be1368596bd2d333698a SHA512 a89c79b76a3ca6459c50d68949ef73d20e774b54e79dc49644512c58a757a7a5afbbd2ab003302662cf7598199748a4f55afbb3a9803dbf279c3fd82b1edccc8 EBUILD libomp-16.0.0.9999.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae EBUILD libomp-16.0.0_pre20221010.ebuild 3483 BLAKE2B c8915d21a00fdbfed5676a0ef0958cb0a4044f8d72dce5efffd336f72c151b288c58d14c54c1cc866089d7db9181265e040dcaf793252394fd50b2c4428e759a SHA512 af497a32eb79e93dddae5c1ba475d0c8a9aa1a14101f00144d0eccdb08cb2982b47550d20ecb26a9e84cbab4c7db1c82d330b39d982b0f14053ceb4fbd7c2230 EBUILD libomp-16.0.0_pre20221016.ebuild 3444 BLAKE2B fb82f952dc3be9c2b651dc0d26552f1d5b89fbc3eeda67ed7a102a403a462d1e8c2d6d06d3fbf376fc17d4a0b5ada9dc1d1e60b468af5eeb61c597ec04c98dbe SHA512 3c5b094ac77e709b3c55e9fb4e005ec1725faa8be9abe48d1e4ac8eaa56920c5d143f61cc18997bf017c8abb0ac8121671b26dea311a5ac62eba3cd5983d57ae diff --git a/sys-libs/libomp/libomp-15.0.3.ebuild b/sys-libs/libomp/libomp-15.0.3.ebuild new file mode 100644 index 000000000000..b172775e1370 --- /dev/null +++ b/sys-libs/libomp/libomp-15.0.3.ebuild @@ -0,0 +1,131 @@ +# 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-any-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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" +IUSE=" + debug hwloc offload ompt test + llvm_targets_AMDGPU llvm_targets_NVPTX +" +RESTRICT="!test? ( test )" + +RDEPEND=" + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) + offload? ( + virtual/libelf:=[${MULTILIB_USEDEP}] + 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_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + sys-devel/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +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 + use test && python-any-r1_pkg_setup +} + +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_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 b8416ef2b49d..27b59d278bdb 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -4,12 +4,15 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf DIST llvm-project-14f996dca8a2b5b17d6917528bfd9ee71ba6192a.tar.gz 169054148 BLAKE2B a23af6658a6ea8a7cb4272faef151937da229e39383ec068d7ef81e72a25d2a46dc2a86255a7f1148b7385b339d1c17e62f627df834d8eccc39be8921575f88d SHA512 e719d296016e7af718d022424c337a5df8d7124fdb49b9f219ab2a5dc592e6a59f6c09064775ea9349bcf4eed9d72214abb648de649ab872174c35635c945c04 DIST llvm-project-15.0.2.src.tar.xz 112071864 BLAKE2B 96f2884d6c1007260d71e5dd41951eed029e8f50ff78f3c90f7194df13e1d4fb80ab7705c51c45a3e6b2a7714a98d9c5919fc7064d1d5f7c675e65b9b4229b65 SHA512 a0e815369c15bb4f8e8aa0fede29c3d557fcc5c8f2b39d457c03f1ef1d860082a41027238571b2aee9a158a87eb118deb08dc2ba94ce750320837a84e9908b8c DIST llvm-project-15.0.2.src.tar.xz.sig 438 BLAKE2B 37a3a7fbc2d74db9060e85f04e159b475cf818c95a6fe2e9f5f038eb990f414d94833ecac2f9c826825a69b752876399e37e70e6934def06363f7ccb18be033a SHA512 cfe3bc400a64536ad9181c2ede7227a0953a8632fdc777d1ea1d9225c1fc4e699d90ce0b99e057ee5b87c1272d5810c4b52fb0cac167ddd2aad88f1f3ef46ee8 +DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856 +DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916 DIST llvm-project-ebb258d3b0785f6dcc65e1f277d0690891ddc94d.tar.gz 168823463 BLAKE2B 111afe0f6ba6cef28c3d0162c9c650d15239f981949030768780ebe308418346d0ad367e0e58417832ae43e57b27bccaf56415f81e8221c6c5e78d1113f5617b SHA512 80351d7eeac77a15bf5613b289c71d718ecaccd8a6a4ea6736ed8bfc15c8154099c771564f99ea6c8b491f99bf1ca3a45fac977d638f6a03d7f7b42ba522fa20 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.2.ebuild 3040 BLAKE2B 75beacd876e87439c8c4a671135b638da8a1f5f84e60b45f80f4288816f6b689ac42059a33176bfbf97f45cc4f34a868ca5ff7c64147ebd13109678a9d97e3ad SHA512 da8075bb36a018ff75a3252888459f6bc70f93751846c14f839a1124a2644d6a3fa6b9198f19dd334c32ba8d7622a1a1a9de9049e63c6cbce97145b0935d4956 EBUILD llvm-libunwind-15.0.3.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec +EBUILD llvm-libunwind-15.0.3.ebuild 3038 BLAKE2B 13e59cb5fb42def342fc97b79a9ef44f5c87870b8e393e23c954ca187ca6cc5e0b797546a7e51d9381c1ca9c5608a8ddc32879a5bda8af681426c52a2b71624e SHA512 b3fd2851bb69f5ce9f4ecf813ec9667186d85e97f7e0c1f9db4c0fb8b0ffbdd7866065ac1a855be4592b5ca795623caf4aaf27fae344bc3024efcea5d71b5584 EBUILD llvm-libunwind-16.0.0.9999.ebuild 2978 BLAKE2B e1fc6e470239200cea2bd9b84e9e084c204536e1bd2886780849f342452cf6b86a6d4d5baac91d562af632a9bcf298569ff459f24464fabc1e01accdc30e0db1 SHA512 b9e5e37262bd55c9aa776b78bcbab46be96de644ddc182fa6787200e4d6746babb09f42481d61723faec935542f869b10e7ce3af688f36a5086bcd6b235bbeec EBUILD llvm-libunwind-16.0.0_pre20221010.ebuild 2888 BLAKE2B 256d1277c398fbfd6361c7ea7649d486fa7032a4d93bba637154a51c0612e43ae6276f4a653e83edd20dcc8bf903bc3c85930c5efd5f86a25f004e3e7c2120f1 SHA512 38676c41a2b511dd2094a9dee38261278617922f231e653c0c6ed7cbe347952562b3c55523d1282cc184be4c19806516075fe7c05a832d296451f0094530e53f EBUILD llvm-libunwind-16.0.0_pre20221016.ebuild 2888 BLAKE2B 256d1277c398fbfd6361c7ea7649d486fa7032a4d93bba637154a51c0612e43ae6276f4a653e83edd20dcc8bf903bc3c85930c5efd5f86a25f004e3e7c2120f1 SHA512 38676c41a2b511dd2094a9dee38261278617922f231e653c0c6ed7cbe347952562b3c55523d1282cc184be4c19806516075fe7c05a832d296451f0094530e53f diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.ebuild new file mode 100644 index 000000000000..9323dc121cae --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-15.0.3.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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +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 +} |