From 6e356edde093fb3589ab7a5859685e85c2873ab0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 16 Sep 2022 17:15:17 +0100 Subject: gentoo auto-resync : 16:09:2022 - 17:15:17 --- sys-libs/Manifest.gz | Bin 14222 -> 14230 bytes sys-libs/compiler-rt-sanitizers/Manifest | 3 + ...ompiler-rt-sanitizers-16.0.0_pre20220915.ebuild | 220 ++++++++++++++++++++ sys-libs/compiler-rt/Manifest | 3 + .../compiler-rt-16.0.0_pre20220915.ebuild | 151 ++++++++++++++ sys-libs/libblockdev/Manifest | 4 +- sys-libs/libblockdev/libblockdev-2.28.ebuild | 125 ++++++++++++ sys-libs/libblockdev/libblockdev-9999.ebuild | 5 +- sys-libs/libcxx/Manifest | 2 + sys-libs/libcxx/libcxx-16.0.0_pre20220915.ebuild | 226 +++++++++++++++++++++ sys-libs/libcxxabi/Manifest | 2 + .../libcxxabi/libcxxabi-16.0.0_pre20220915.ebuild | 128 ++++++++++++ sys-libs/libomp/Manifest | 2 + sys-libs/libomp/libomp-16.0.0_pre20220915.ebuild | 130 ++++++++++++ sys-libs/llvm-libunwind/Manifest | 3 + .../llvm-libunwind-16.0.0_pre20220915.ebuild | 128 ++++++++++++ 16 files changed, 1127 insertions(+), 5 deletions(-) create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20220915.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-16.0.0_pre20220915.ebuild create mode 100644 sys-libs/libblockdev/libblockdev-2.28.ebuild create mode 100644 sys-libs/libcxx/libcxx-16.0.0_pre20220915.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-16.0.0_pre20220915.ebuild create mode 100644 sys-libs/libomp/libomp-16.0.0_pre20220915.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20220915.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index ab190df5dff4..4e1e5cca3d4d 100644 Binary files a/sys-libs/Manifest.gz and b/sys-libs/Manifest.gz differ diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index d9307e734991..9de24173b1ef 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -1,7 +1,9 @@ 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.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8 +DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc +DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -12,4 +14,5 @@ EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6381 BLAKE2B 010ce621c56c1568eaddeb6 EBUILD compiler-rt-sanitizers-15.0.0.9999.ebuild 6325 BLAKE2B 6477a9afca51d95071229d9959af18ac6afebbc1348cbb26a4a9e1253e4a40d57604f74a138b027cf3ec07bffe7e001543a356e5fc5d173e5f83fadd8e646d4e SHA512 9c553af9ff3f8ad99ef2da81a86362abcfcadcbf5407565a60be6c79f9fb89f2ae1f536f8df03cc4f3f797d8019f29d0e949dcbf82f59d2e1b1fa316d9074db2 EBUILD compiler-rt-sanitizers-15.0.0.ebuild 6403 BLAKE2B ec6435ff9186e093602e7304aa3199583bb631d1faf1a872e82ba2123f76a427682eaceb090bf2042bea6fa9f4515b4b0e1ed5543f8398c3de3071a902e883f6 SHA512 74d4d8f0a372703bcbe2f2de63adf24352e68ee46aa332cf942a6df7090c5cd5bac8ed868307244e4d27f2dcd8f1530285c48049495b056f3c09d1d0291fbb22 EBUILD compiler-rt-sanitizers-16.0.0.9999.ebuild 6325 BLAKE2B 6477a9afca51d95071229d9959af18ac6afebbc1348cbb26a4a9e1253e4a40d57604f74a138b027cf3ec07bffe7e001543a356e5fc5d173e5f83fadd8e646d4e SHA512 9c553af9ff3f8ad99ef2da81a86362abcfcadcbf5407565a60be6c79f9fb89f2ae1f536f8df03cc4f3f797d8019f29d0e949dcbf82f59d2e1b1fa316d9074db2 +EBUILD compiler-rt-sanitizers-16.0.0_pre20220915.ebuild 6324 BLAKE2B 37416eae59029f44c9888d2ce96dabc2304036fe4ec549fee57da0c12615e210f02b3e462ef5b6024615af8a731f06178a82b1ab82c1f48fade1f7c133c8d95a SHA512 ebe2feca542ed78812dc5d5066b6108e1e217776504a2105b5cc7e7ed80c3b68369fc8ab43408c207a3c9c5754aaeac4431b60c1ed27b139cb21bef8ece44355 MISC metadata.xml 1412 BLAKE2B 75675507000fa6a6b8182e6b45a08a2716ae7fb9a7e3428dc8420464e4c1d1bdb5bea62cc2f553c579de5a4faa752b35cb3529d980fb07a055ff4ddf6e752707 SHA512 f05ea5168b923db72f4f5b53e9b748ebbcdae9eff09d86323313055933b47fc0089e1b2d73cd997d73dcfb2dca032344955816425fbddc09d27ca751463aadbb diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20220915.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..a869f0b1a90b --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-16.0.0_pre20220915.ebuild @@ -0,0 +1,220 @@ +# 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="$(ver_cut 1-3)" +KEYWORDS="" +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 ) +" + +LLVM_MAX_SLOT=${SLOT%%.*} +DEPEND=" + sys-devel/llvm:${LLVM_MAX_SLOT} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + !!=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} + sys-libs/compiler-rt:${SLOT} + ) + !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_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/${SLOT}" + # 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/${SLOT}" + + -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_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAX_SLOT}/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_MAX_SLOT}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/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/${SLOT}/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_MAX_SLOT}/{bin,$(get_libdir)},clang/${SLOT}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${SLOT}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${SLOT}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${SLOT}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAX_SLOT}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAX_SLOT}/$(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 779f5a893b68..a2a2848cfc17 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -1,7 +1,9 @@ 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.0-r1.tar.xz 4952 BLAKE2B 915aa1db9b16c3a6b7ae26c9935d862e4bda1d11595eee16475ca372beef0ae9a853e64e39bd82f80e95fa7eff18d415c6683b8f6def9734cd7cb9da04caaa7a SHA512 98b2d9dbc1d66e9f1447a121ffe0dd04e6dbccea734ba68e2495cf572314e3faf42645b65cc3906abb49e59ec1007b0b12fd7a78216b447b154d8ec2abbdb6f8 +DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc +DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -13,4 +15,5 @@ EBUILD compiler-rt-14.0.6.ebuild 4030 BLAKE2B 9881380671f25916b7a9356e14b45fd30b EBUILD compiler-rt-15.0.0.9999.ebuild 4183 BLAKE2B dc863bb9300dbf0b109642c9e79e6cd1c836209453f5f09e94d0bdb532336f9612af25c2154abe391998b66eddc6900593734570062800635985be4fccbd5581 SHA512 6e63963e9d6f4918714d97f37c69411ad95a7c0ffe03aacc96df829c35172e46b1595505a551063789988f2956674dbc7926128a8a03804458a8baca6280ab34 EBUILD compiler-rt-15.0.0.ebuild 4261 BLAKE2B 2cd705bacc8afa306b3299ba267dbd66133f6fceeff75c8620eb335809fe83753f9ffe5df4549e9849030612f63670e748a72be1f459c1af4e5dce57ddac5f0d SHA512 260a7dd4d6c0cdf663c408188db1996aec6c0bd5d898673bbfa6fe1d1a6ca9b19021dc19cdfad358bb65c5e878f8adbf2b4c4ec1f2446a84b8b6306c4a333e43 EBUILD compiler-rt-16.0.0.9999.ebuild 4183 BLAKE2B dc863bb9300dbf0b109642c9e79e6cd1c836209453f5f09e94d0bdb532336f9612af25c2154abe391998b66eddc6900593734570062800635985be4fccbd5581 SHA512 6e63963e9d6f4918714d97f37c69411ad95a7c0ffe03aacc96df829c35172e46b1595505a551063789988f2956674dbc7926128a8a03804458a8baca6280ab34 +EBUILD compiler-rt-16.0.0_pre20220915.ebuild 4182 BLAKE2B 1d46ef21d22d98bef33a67443e6e0b8e78e741c112b8fdc21dc31d534a86facc19d24eba3fea59885cb60b64910af2c5833ba38e8c60c5030f3cc7901d21ad59 SHA512 d577101ab64336b52825b3ea6863d82c64c6326022a8b31d44b1bc6fb23cf5823dcb53ddba049afe55f8f73903614b9ed754be32e0d71de5276ef9ad3fd05223 MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20220915.ebuild b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..572454b157f2 --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-16.0.0_pre20220915.ebuild @@ -0,0 +1,151 @@ +# 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="$(ver_cut 1-3)" +KEYWORDS="" +IUSE="+abi_x86_32 abi_x86_64 +clang debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +LLVM_MAX_SLOT=${SLOT%%.*} +DEPEND=" + sys-devel/llvm:${LLVM_MAX_SLOT} +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT} + ) + !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_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/${SLOT}" + + -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_MAX_SLOT}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/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/libblockdev/Manifest b/sys-libs/libblockdev/Manifest index 1397ab616a70..66e474075901 100644 --- a/sys-libs/libblockdev/Manifest +++ b/sys-libs/libblockdev/Manifest @@ -1,4 +1,6 @@ DIST libblockdev-2.27.tar.gz 914021 BLAKE2B 1e02a364ac918cc9bb288d3b8745cb09378317c4b509224326d13ff8b6481ba3d44502f248680801316a9a94d7d5eac353c5659eca55a681c88511da5dfc83da SHA512 fa9faf3efefc1c76165c9456936175b2addb336a5257c43c1e41403db200386fd660203ef17559529f57b2f57b9ef768686ecd31493c58527434297c31712c10 +DIST libblockdev-2.28.tar.gz 925698 BLAKE2B 63ac7ab5bd02c1ef1848d0b252e09fe721cfe86258f063b7bab616766cbc56311707dcb2dd3a1fadf0e0840187f121aa178fd5959500cd590b846238a9d3e36e SHA512 9e01c41db4f728c8e81e710c6bb4725bbe34b3a7de25ff7f57b7b88ca6b7b5debbe858947585d314770036b2c3c533f9f8ff3d038b7ca50eee3d18f9fbe0d392 EBUILD libblockdev-2.27.ebuild 2887 BLAKE2B f44f7df71ed68e5bdbc224112164874a1a5429ac690a40aadb43612731bc6a0a31636b05ff8972e6c97f53b395ea7f7bf3bca2650aca0fcc5f9092485fc4cc99 SHA512 4c8d4c3eb67e6f622ab1aa62e3bbc2d49a8f29513fe93f3c975f44bc2d7aeaeb7a6cb1be4c54f9824b439894ec9d4fbaa2073d650ff8d3753312444583251055 -EBUILD libblockdev-9999.ebuild 2878 BLAKE2B 1ca3949ee417424809ea318ab1da22becd0b17cc3cbee9e4037e148adddae90852f49285159cd7ae4b7d9654c69bc395856fbd49499bc87d827baf2603dc8011 SHA512 7cb18160d77d20fd8c16d2ac6ea87453b3b52cffaea85ebbcda65996b06c313fb60394e37b5adb5beecc867f1a49e13bea86e270fca5a6d01b1c8e66d52af0f7 +EBUILD libblockdev-2.28.ebuild 2749 BLAKE2B cbfd7bc2e215cf435f4ca692c6f743346b43f6ff996645baf77df055bd81403c8a34224b1a444b4a3e1b55eba2f8c5dd85d2f4758cd1d13ca51a7a9bad36b63d SHA512 72d44fbafae4a9ed41d7ea7d9a873a5187b66aae2055775451807f75db888282b8de67e2e112a1930c10f3ab993f9575429b140972bfb1f62244cf3f497bdd84 +EBUILD libblockdev-9999.ebuild 2733 BLAKE2B 781c8f9580bc041dc85ac0638306ab1062d93a1fac39a120ff0bae3daa0f66b394974384bca24ec4cbf96ac40bab003b7496e7fa88686e6769b1bd85133610ea SHA512 4edff2ab09e0871e61818da2d255c2cec1b8fd2dd4341d4131074d2de55898ef1022f4f37c0806e95291d1604b1de2d9c81ad0032467b5a4470a1abba70b4625 MISC metadata.xml 1233 BLAKE2B 68512209e8f458b5b52a9d82eb86c1c831837681b2976d5050c578c3b3fdb032640c4cc99da9621aae7c061ae8332825ea5010a8f1138fbbbc34e92fccbeddeb SHA512 eb47faef934a8eafe1beeea6f901ddd6b0e7202823f57b3848f6ef131b2a5ffc968740d980a68163696d3de34a98ebef8561e63d26ffe213a42e1022577a9270 diff --git a/sys-libs/libblockdev/libblockdev-2.28.ebuild b/sys-libs/libblockdev/libblockdev-2.28.ebuild new file mode 100644 index 000000000000..2b55a770d002 --- /dev/null +++ b/sys-libs/libblockdev/libblockdev-2.28.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +inherit autotools python-single-r1 xdg-utils + +DESCRIPTION="A library for manipulating block devices" +HOMEPAGE="https://github.com/storaged-project/libblockdev" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" + BDEPEND=" + sys-devel/autoconf-archive + " +else + MY_PV="${PV}-1" + SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +LICENSE="LGPL-2+" +SLOT="0" +IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" +# Tests require root. In a future release, we may be able to run a smaller +# subset with new run_tests.py arguments. +RESTRICT="!test? ( test ) test" + +RDEPEND=" + >=dev-libs/glib-2.42.2 + dev-libs/libbytesize + >=sys-apps/kmod-19 + >=sys-apps/util-linux-2.27 + >=sys-block/parted-3.1 + cryptsetup? ( + escrow? ( + >=dev-libs/nss-3.18.0 + dev-libs/volume_key + ) + >=sys-fs/cryptsetup-1.6.7:= + ) + device-mapper? ( sys-fs/lvm2 ) + dmraid? ( + sys-fs/dmraid + sys-fs/lvm2 + ) + lvm? ( + sys-fs/lvm2 + virtual/udev + ) + vdo? ( dev-libs/libyaml ) + ${PYTHON_DEPS} +" + +DEPEND=" + ${RDEPEND} +" + +BDEPEND+=" + dev-util/gtk-doc-am + gtk-doc? ( dev-util/gtk-doc ) + introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + escrow? ( cryptsetup )" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + xdg_environment_reset #623992 + default + + # https://bugs.gentoo.org/744289 + find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \ + | xargs --null sed "s@ -Werror@@" -i || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --with-btrfs + --with-fs + --with-part + --with-python3 + --without-mpath + --without-nvdimm + --without-python2 + $(use_enable introspection) + $(use_enable test tests) + $(use_with bcache) + $(use_with cryptsetup crypto) + $(use_with device-mapper dm) + $(use_with dmraid) + $(use_with escrow) + $(use_with gtk-doc) + $(use_with kbd) + $(use_with lvm lvm) + $(use_with lvm lvm-dbus) + $(use_with tools) + $(use_with vdo) + ) + econf "${myeconfargs[@]}" +} + +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # The 'check' target just does Pylint. + # ... but it needs root. + emake test +} + +src_install() { + default + find "${ED}" -type f -name "*.la" -delete || die + # This is installed even with USE=-lvm, but libbd_lvm are omitted so it + # doesn't work at all. + if ! use lvm ; then + rm -f "${ED}"/usr/bin/lvm-cache-stats || die + fi + python_optimize #718576 +} diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-9999.ebuild index ab7407f4a420..a97f68fef26d 100644 --- a/sys-libs/libblockdev/libblockdev-9999.ebuild +++ b/sys-libs/libblockdev/libblockdev-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit autotools python-single-r1 xdg-utils DESCRIPTION="A library for manipulating block devices" @@ -16,11 +16,8 @@ if [[ "${PV}" == *9999 ]] ; then " else MY_PV="${PV}-1" - #MY_P="${PN}-${MY_PV}" - #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" - #S="${WORKDIR}/${MY_P}" fi LICENSE="LGPL-2+" SLOT="0" diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index 9e3df4881be1..6cfc4b910311 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -1,5 +1,6 @@ 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-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -10,4 +11,5 @@ EBUILD libcxx-14.0.6.ebuild 6948 BLAKE2B 203e04f4e2603ec0b8e3cd672ca2458c971e4ec EBUILD libcxx-15.0.0.9999.ebuild 6032 BLAKE2B 2c175eb985c128a7f026017df48b0ae570333ef76baf18ef782905f4b1b9496a7949ee03d96ba5342b596c45e53001d0a57b42abf3fecda9ea9d80649aa1d2a4 SHA512 9b35653834dc11ca1186acdcdafaf979e52de62d0ed9846cca858ea5d8a20ea52de6010ee024799decaa730a43d9f562a5e50320cfe875eb48161d81afba0097 EBUILD libcxx-15.0.0.ebuild 6080 BLAKE2B 50c1bc2fe69e0fa31d06f1ec83f740615b6ce934f3c191832c49358b126da6629d00ab167104e43a1976b6a30cf2fac12401964c7c55e26044253666997eb978 SHA512 925ee29c8d2b63ef156abd4c20993ed194d3e6c4935c1ed14922beecbfcae05cc0eb95f36fb7861a9d185be75acec2f73f249973a51928745d3faed9e914d378 EBUILD libcxx-16.0.0.9999.ebuild 6032 BLAKE2B 2c175eb985c128a7f026017df48b0ae570333ef76baf18ef782905f4b1b9496a7949ee03d96ba5342b596c45e53001d0a57b42abf3fecda9ea9d80649aa1d2a4 SHA512 9b35653834dc11ca1186acdcdafaf979e52de62d0ed9846cca858ea5d8a20ea52de6010ee024799decaa730a43d9f562a5e50320cfe875eb48161d81afba0097 +EBUILD libcxx-16.0.0_pre20220915.ebuild 6032 BLAKE2B 2c175eb985c128a7f026017df48b0ae570333ef76baf18ef782905f4b1b9496a7949ee03d96ba5342b596c45e53001d0a57b42abf3fecda9ea9d80649aa1d2a4 SHA512 9b35653834dc11ca1186acdcdafaf979e52de62d0ed9846cca858ea5d8a20ea52de6010ee024799decaa730a43d9f562a5e50320cfe875eb48161d81afba0097 MISC metadata.xml 828 BLAKE2B 40af456df8ac1cfdb66fd62a217abbb4ca837956529906118c35232000435d9e991d18dd0332b7b95eed70d4c7610c7a1aee80af8ba511763edc1423749a4aa4 SHA512 257f8fd05fcade26ca02305356b67c8e2d67a87b180e38a189a659212093b07b9a710b871fbaab894dba9eba5fe450b76c52cc82f6405c24cc1ab2df3abe8bfd diff --git a/sys-libs/libcxx/libcxx-16.0.0_pre20220915.ebuild b/sys-libs/libcxx/libcxx-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..07049e01ed34 --- /dev/null +++ b/sys-libs/libcxx/libcxx-16.0.0_pre20220915.ebuild @@ -0,0 +1,226 @@ +# 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] ) +" +# llvm-6 for new lit options +# clang-3.9.0 installs necessary target symlinks unconditionally +# which removes the need for MULTILIB_USEDEP +DEPEND=" + ${RDEPEND} + >=sys-devel/llvm-6 +" +BDEPEND=" + clang? ( + sys-devel/clang + ) + !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_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 && ! tc-is-clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link against compiler-rt instead of libgcc if this is what clang does + local want_compiler_rt=OFF + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LDFLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + want_compiler_rt=ON + fi + fi + + # 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=${want_compiler_rt} + ) + + if use test; then + local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 2>/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + 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 +} + +pkg_postinst() { + elog "This package (${PN}) is mainly intended as a replacement for the C++" + elog "standard library when using clang." + elog "To use it, instead of libstdc++, use:" + elog " clang++ -stdlib=libc++" + elog "to compile your C++ programs." +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index a6f415d0062f..e7dc32cae72a 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -1,3 +1,4 @@ +DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -8,4 +9,5 @@ EBUILD libcxxabi-14.0.6.ebuild 3509 BLAKE2B e6fa29bba6fcc72fa1c049ba696fd9cb6b34 EBUILD libcxxabi-15.0.0.9999.ebuild 3291 BLAKE2B 4b65300aaa146a9a864ae63fc829c0a0ca8e44f07a19a5b7bf3c13f26bc26340a81479f0f29483b7b1ecad810de7701d92fc247b34340e7d2d674dc554213f09 SHA512 cb6fdea8f3964ec39d350652ffa8a913758298eb22ccbe9a70f4ffd26f40b04747a13b88382c5dd64cc9a45541165b2df966bd2d3f3b0f9ec063e38e9640e052 EBUILD libcxxabi-15.0.0.ebuild 3339 BLAKE2B 2fa9fdaefa07c7acb984c41365ad894150d30ecde568436bbe5cd5f55b1a2b25aad7a6880d4915979c5402e0252ba860b5fbe8d5aaa4ff276698c8530ede90be SHA512 0fe88d8e1ceb47885738f44b2fab2b9a737b2e0257ec5a0dffe359c5cf1921f9f0893f04f3e75c2715b74b12e63b7c20952d461f73768b5f3aef165de2e79b8b EBUILD libcxxabi-16.0.0.9999.ebuild 3291 BLAKE2B 4b65300aaa146a9a864ae63fc829c0a0ca8e44f07a19a5b7bf3c13f26bc26340a81479f0f29483b7b1ecad810de7701d92fc247b34340e7d2d674dc554213f09 SHA512 cb6fdea8f3964ec39d350652ffa8a913758298eb22ccbe9a70f4ffd26f40b04747a13b88382c5dd64cc9a45541165b2df966bd2d3f3b0f9ec063e38e9640e052 +EBUILD libcxxabi-16.0.0_pre20220915.ebuild 3291 BLAKE2B 4b65300aaa146a9a864ae63fc829c0a0ca8e44f07a19a5b7bf3c13f26bc26340a81479f0f29483b7b1ecad810de7701d92fc247b34340e7d2d674dc554213f09 SHA512 cb6fdea8f3964ec39d350652ffa8a913758298eb22ccbe9a70f4ffd26f40b04747a13b88382c5dd64cc9a45541165b2df966bd2d3f3b0f9ec063e38e9640e052 MISC metadata.xml 557 BLAKE2B 4f6b0acb7cfdf74971a6fd96051d9f9020141c6117333a8de42bd043935b7bff8d9942faabdf3b1c94597c460393f64eb7d3f7b7d49f39ecfd0094de460f563e SHA512 67a812ef768e681ae77ef6e13bccffcbe53b41e94901f0558b3c7acaf896605ca670c4bb5a690bd9afa3b5a76271341710520a6abc0024c18f437fabde20e847 diff --git a/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20220915.ebuild b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..893a76363592 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-16.0.0_pre20220915.ebuild @@ -0,0 +1,128 @@ +# 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+=" + !/dev/null) + [[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang for tests" + + 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 c8feb2face69..a246e2ba6afe 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -1,5 +1,6 @@ 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-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -10,4 +11,5 @@ EBUILD libomp-14.0.6-r1.ebuild 3834 BLAKE2B a4cf91535d7fa11de76c0216c71ec6954223 EBUILD libomp-15.0.0.9999.ebuild 3238 BLAKE2B fafb13944cc61b270ee0e2a6ae6d91ca9bfd84bc9d19a3b07f170a055ba74733135d0766d9ec225c47256f2c49a73a9dafd45b5faffa3b746dd84a9efd7c79a5 SHA512 9670c82e79a3c74da35937a5ac0b3bab90988434a9135e38aa7a47ebff207b8a7baa5b2f37b3f8e3922b99927f73f1d3314983fae84b81391c9d8b4590d386f5 EBUILD libomp-15.0.0.ebuild 3304 BLAKE2B 56e88732e220b9db120373b23ac22022a4f004fe16cad74e901eca92fd1d9fdd9806b23e0aa0702ea126de11c597f5d218f15d44a4f53ffe17e265ff26d529df SHA512 c39eafaf1fa1cca970fc67c4501f9e260d02fc140572d3c41ce98b5cef3ee4a8b187f3601b9549c0095d9d6fe3155e9e282cc195468ccbbf3fcb4612d36eed8e EBUILD libomp-16.0.0.9999.ebuild 3327 BLAKE2B a08b75142261e7b7883cf50882ecb58c61033ac3903156c44eb9aa8199feffaaed9c64caa315107ec74635be8411cebd27100401e87c59a38ca4c3f9f703d745 SHA512 34073aa6cde91649f9b3549a8e48459b421931e62b7177d870fa1084ac3efacc011cd10900e8adfc1e2861be4cd1797fb45a5a4237660e8b3a01203759e3d449 +EBUILD libomp-16.0.0_pre20220915.ebuild 3327 BLAKE2B a08b75142261e7b7883cf50882ecb58c61033ac3903156c44eb9aa8199feffaaed9c64caa315107ec74635be8411cebd27100401e87c59a38ca4c3f9f703d745 SHA512 34073aa6cde91649f9b3549a8e48459b421931e62b7177d870fa1084ac3efacc011cd10900e8adfc1e2861be4cd1797fb45a5a4237660e8b3a01203759e3d449 MISC metadata.xml 908 BLAKE2B c200fb1c93ae8fbd3963b2b575586fbe8f6df2308a2babbe3da77c2cf59c3fa43f938849d47df2ef4acf381f247848c363a20cf33ad763be169764cbe43c4bb4 SHA512 3cde603a2de523c21fbf288d459d76c697f2291d3dc3dac47e70781a910b4d524442d3076d8541818f2d43c3c6477af75d5f0cb76c4fbe0b4567a11d67edb056 diff --git a/sys-libs/libomp/libomp-16.0.0_pre20220915.ebuild b/sys-libs/libomp/libomp-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..83d025fd921f --- /dev/null +++ b/sys-libs/libomp/libomp-16.0.0_pre20220915.ebuild @@ -0,0 +1,130 @@ +# 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 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" +KEYWORDS="" +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=${PV%%.*} llvm_pkg_setup + use test && python-any-r1_pkg_setup +} + +multilib_src_configure() { + # 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 + # disable until upstream fixes it to use positive logic + -DDISABLE_OMPD_GDB_PLUGIN=ON + ) + + 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 75b4151ee662..de77cc0f1624 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -1,4 +1,6 @@ DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01 +DIST llvm-gentoo-patchset-16.0.0_pre20220915.tar.xz 4692 BLAKE2B a5ea9b9d7dcb2b715a22d3c1e4bbda92bb710eddd50a9a3dd07ef3f23841fe76359ddb5fe585115926ee202bf91ccda7b0ea008576faba9fc00bdbcfec2f21a3 SHA512 489692969bc9364f123eb693e577e7796eee6d2d63e15dc92b355e7d1410bbcbb49fc3140df202b242f9c003aac1d8f492ef7f723eaa7c1cfe807fc90758711d +DIST llvm-project-02a27b38909edc46c41732f79a837c95c9992d5a.tar.gz 167414990 BLAKE2B cd9c4be6d3155a4cbf1abff9d8246b9d6fea98e29459c226bda36df250cc22883f08175514fce037d146866d521a56669678b5c35b5163b38532b8c2920b25a6 SHA512 e862e148b8f053d8f4d40de8db9a4db587cb0c7b4120fe433d769aa2772a1aabd697c3c3f8ee34f547ee12c4bc4355116d5694d5f451264f8719d4af0fb32cb0 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-15.0.0.src.tar.xz 112062796 BLAKE2B 947917b6c75cbd8882133dc01f57013523274962371ac5ae4a22b010f8a7d5d31288c1d9847bf19ba919fa3110fe34a8ff937107fe19bd064ed87bf4d08d8a51 SHA512 e5aacbe7574dcec62017cc03c9fa2ee4cf075125a3d6c3975c38f06e91adcebb1ff92bcf40c6dd67db087813c60b15a04f1424c713d751199518b58025ce87fc @@ -9,4 +11,5 @@ EBUILD llvm-libunwind-14.0.6-r1.ebuild 3301 BLAKE2B 838c03d69e46a441ccbd7d9524fb EBUILD llvm-libunwind-15.0.0-r1.ebuild 3211 BLAKE2B 3b571057d64e66c251162fcca18ef7ccbac88502d9b3e361b517db79ac678b20a046f4a9a1918db5b2eeb05e97c63acd6fa3547ce1bf36edaacb5b86ca59d46c SHA512 17b1cdae0f7e86b1508c3b479902e1b3ebf082678b267bf0b2970dfdafcd2db7d5e049ad031aaaf4c05d61e079860bbc56d985719d7308c8e94ae993440df122 EBUILD llvm-libunwind-15.0.0.9999.ebuild 3151 BLAKE2B 3a4ae553d69ce72fb64c7cf23d87d41d06927107049708d397e40c6fccda5b0477aea36cd7b06ac2e631b30c1b52ef52f6e2a48d32e889c487a2007c7fb7b91c SHA512 5c6df3a28f4d565ac296efe4fe65b872a56a01037d590fc893ae3304756e6eeb0c60f10e8e78e2e09c496fb22ddaa85e3386d810e1f7271af9df9f46c2d39c96 EBUILD llvm-libunwind-16.0.0.9999.ebuild 3151 BLAKE2B 3a4ae553d69ce72fb64c7cf23d87d41d06927107049708d397e40c6fccda5b0477aea36cd7b06ac2e631b30c1b52ef52f6e2a48d32e889c487a2007c7fb7b91c SHA512 5c6df3a28f4d565ac296efe4fe65b872a56a01037d590fc893ae3304756e6eeb0c60f10e8e78e2e09c496fb22ddaa85e3386d810e1f7271af9df9f46c2d39c96 +EBUILD llvm-libunwind-16.0.0_pre20220915.ebuild 3171 BLAKE2B 03585a3024f9960d8fc2e2fb1a236ad049ab1318f7456288106289d762af0f07948736f38acb4f492942bfc90ccf66bc8141e0f63d6944f073d9447fd117300e SHA512 0c70bac02cbce95fbbcdd53da594f3f682b675ed17cc6131ce78f0713b4ebc4c6d6574ef71c2819b1b82c69d84a2766e35f805086a19bb3f8dfb97bfd0a05da6 MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20220915.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20220915.ebuild new file mode 100644 index 000000000000..b689ad94c567 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-16.0.0_pre20220915.ebuild @@ -0,0 +1,128 @@ +# 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="" +IUSE="+clang debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +# llvm-6 for new lit options +DEPEND=" + >=sys-devel/llvm-6 +" +BDEPEND=" + clang? ( + sys-devel/clang + ) + !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_PATCHSET=${PV} +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + local use_compiler_rt=OFF + local libdir=$(get_libdir) + + # https://github.com/llvm/llvm-project/issues/56825 + # also separately bug #863917 + filter-lto + + if use clang && ! tc-is-clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + 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 + if tc-is-clang; then + local compiler_rt=$($(tc-getCC) ${CFLAGS} ${CPPFLAGS} \ + ${LD_FLAGS} -print-libgcc-file-name) + if [[ ${compiler_rt} == *libclang_rt* ]]; then + use_compiler_rt=ON + fi + fi + + 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 +} -- cgit v1.2.3