From 42e82780761e75f17a5cc96626558a297782f385 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 10 Jun 2023 15:51:39 +0100 Subject: gentoo auto-resync : 10:06:2023 - 15:51:39 --- sys-libs/Manifest.gz | Bin 15066 -> 15068 bytes sys-libs/compiler-rt-sanitizers/Manifest | 2 + ...ompiler-rt-sanitizers-17.0.0_pre20230609.ebuild | 216 +++++++++++++++++++++ sys-libs/compiler-rt/Manifest | 2 + .../compiler-rt-17.0.0_pre20230609.ebuild | 149 ++++++++++++++ sys-libs/libblockdev/Manifest | 1 - sys-libs/libblockdev/libblockdev-2.28.ebuild | 132 ------------- sys-libs/libcxx/Manifest | 2 + sys-libs/libcxx/libcxx-17.0.0_pre20230609.ebuild | 204 +++++++++++++++++++ sys-libs/libcxxabi/Manifest | 2 + .../libcxxabi/libcxxabi-17.0.0_pre20230609.ebuild | 116 +++++++++++ sys-libs/libomp/Manifest | 2 + sys-libs/libomp/libomp-17.0.0_pre20230609.ebuild | 151 ++++++++++++++ sys-libs/liburing/Manifest | 3 +- sys-libs/liburing/liburing-2.3.ebuild | 67 ------- sys-libs/liburing/liburing-2.4.ebuild | 83 ++++++++ sys-libs/llvm-libunwind/Manifest | 2 + .../llvm-libunwind-17.0.0_pre20230609.ebuild | 123 ++++++++++++ 18 files changed, 1056 insertions(+), 201 deletions(-) create mode 100644 sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230609.ebuild create mode 100644 sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230609.ebuild delete mode 100644 sys-libs/libblockdev/libblockdev-2.28.ebuild create mode 100644 sys-libs/libcxx/libcxx-17.0.0_pre20230609.ebuild create mode 100644 sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230609.ebuild create mode 100644 sys-libs/libomp/libomp-17.0.0_pre20230609.ebuild delete mode 100644 sys-libs/liburing/liburing-2.3.ebuild create mode 100644 sys-libs/liburing/liburing-2.4.ebuild create mode 100644 sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230609.ebuild (limited to 'sys-libs') diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz index 0600c78088eb..9f9b0d4e60d4 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 473d4e5a7830..cef41e388ca5 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fb DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 +DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010 EBUILD compiler-rt-sanitizers-14.0.6.ebuild 6526 BLAKE2B 371b7d7bfbcacce1c04cf039b15f49bf5c8fb7de0352c4f477b92d1efe0c70442770ec0c6b60572cf5877b5c14492328cf727b2aa5c1dea761eb909aa1e1df6c SHA512 ee1f054abb9954eedd5b098afb1eb741cd2d7b1b329ef66ed3f25f8ed050227a31925852e3d893b0a9913e2ef2ac34efe89c66c19b562c586f7c0352a10a5814 @@ -21,4 +22,5 @@ EBUILD compiler-rt-sanitizers-16.0.5.ebuild 6550 BLAKE2B a3d856b59f3ad6ce433952a EBUILD compiler-rt-sanitizers-17.0.0.9999.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c EBUILD compiler-rt-sanitizers-17.0.0_pre20230526.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c EBUILD compiler-rt-sanitizers-17.0.0_pre20230602.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c +EBUILD compiler-rt-sanitizers-17.0.0_pre20230609.ebuild 6249 BLAKE2B 036338e02f018bd9cb01036851fcee5af58f012e15c4fcb55a207e519d2b553e83f2871869681055a9c672b091126e95d52a1c50a605a94e27b866b22dd64732 SHA512 94a1deb4cbba26d0e1aa02333c2d3375349b059e1fe75f26368ab54d13b276c27ea377f4cce9b1cdf0a508add5ddae4886a59bbb24cd8bec61a7e5d03660746c MISC metadata.xml 1412 BLAKE2B 75675507000fa6a6b8182e6b45a08a2716ae7fb9a7e3428dc8420464e4c1d1bdb5bea62cc2f553c579de5a4faa752b35cb3529d980fb07a055ff4ddf6e752707 SHA512 f05ea5168b923db72f4f5b53e9b748ebbcdae9eff09d86323313055933b47fc0089e1b2d73cd997d73dcfb2dca032344955816425fbddc09d27ca751463aadbb diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230609.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230609.ebuild new file mode 100644 index 000000000000..f3ca3131c8d6 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-17.0.0_pre20230609.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +# base targets +IUSE+=" +libfuzzer +memprof +orc +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) + test? ( + cfi? ( ubsan ) + gwp-asan? ( scudo ) + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support third-party ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + # TODO: fix these tests to be skipped upstream + if use asan && ! use profile; then + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + if use ubsan && ! use cfi; then + > test/cfi/CMakeLists.txt || die + fi + + llvm.org_src_prepare +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_ORC=$(usex orc) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX + # This disables i386 for SDK >= 10.15 + # Will error if has_use tsan and SDK < 10.12 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + cmake_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 81f7f8b9efe8..23746ff24ea5 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fb DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 +DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010 EBUILD compiler-rt-14.0.6-r1.ebuild 4248 BLAKE2B 56b00f1c57cdaf1cd6dd7f15e13c714461001c0c2fb25e565c1677745e3fe6e61714e2f037814fef3eb32ef6866d517c391cb5f63c852ed132d74b1b5b7ef393 SHA512 31cd40fe6c58a6a653d36e99586230c7686ccb2bcdfa1c8ead4331dec2fd8dc53afc2a1e9bdf165dc5b4f7580c8cd25bc7a68acfa9c881fd775187bd82e28f11 @@ -21,4 +22,5 @@ EBUILD compiler-rt-16.0.5.ebuild 4244 BLAKE2B b4fa336d5147d1f452cfe2d423d86a7d3c EBUILD compiler-rt-17.0.0.9999.ebuild 4166 BLAKE2B cd26aafb9d796d914dd260347378d57ae3e94594a9f204a866bdd3ad261794c0b04e7caff1d0182fb9f4e462dbbc15132106c0118dfdec9b61adce7732da40d7 SHA512 68218eef7361276b938f7b3d5e44483337bdcd988c7dc8abccfa8b56501b6e8cfb6395b6054bbc69972cc3d5b238627ade3715bf9d9853f43b0e1152d6fee41a EBUILD compiler-rt-17.0.0_pre20230526.ebuild 4166 BLAKE2B cd26aafb9d796d914dd260347378d57ae3e94594a9f204a866bdd3ad261794c0b04e7caff1d0182fb9f4e462dbbc15132106c0118dfdec9b61adce7732da40d7 SHA512 68218eef7361276b938f7b3d5e44483337bdcd988c7dc8abccfa8b56501b6e8cfb6395b6054bbc69972cc3d5b238627ade3715bf9d9853f43b0e1152d6fee41a EBUILD compiler-rt-17.0.0_pre20230602.ebuild 4166 BLAKE2B cd26aafb9d796d914dd260347378d57ae3e94594a9f204a866bdd3ad261794c0b04e7caff1d0182fb9f4e462dbbc15132106c0118dfdec9b61adce7732da40d7 SHA512 68218eef7361276b938f7b3d5e44483337bdcd988c7dc8abccfa8b56501b6e8cfb6395b6054bbc69972cc3d5b238627ade3715bf9d9853f43b0e1152d6fee41a +EBUILD compiler-rt-17.0.0_pre20230609.ebuild 4166 BLAKE2B cd26aafb9d796d914dd260347378d57ae3e94594a9f204a866bdd3ad261794c0b04e7caff1d0182fb9f4e462dbbc15132106c0118dfdec9b61adce7732da40d7 SHA512 68218eef7361276b938f7b3d5e44483337bdcd988c7dc8abccfa8b56501b6e8cfb6395b6054bbc69972cc3d5b238627ade3715bf9d9853f43b0e1152d6fee41a MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230609.ebuild b/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230609.ebuild new file mode 100644 index 000000000000..5bb8f9d050ac --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-17.0.0_pre20230609.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +KEYWORDS="" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + >=dev-util/cmake-3.16 + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then + LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +test_compiler() { + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! test_compiler; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -emain ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest index e151b72bef65..0594097dbb59 100644 --- a/sys-libs/libblockdev/Manifest +++ b/sys-libs/libblockdev/Manifest @@ -1,6 +1,5 @@ AUX libblockdev-2.28-sh_tests.patch 1552 BLAKE2B 3b26cf271a0cb2a0f51ecffe51c9caf9a0ac1c65aecb5adc845a2721f3ac7178df7c994b7647b4fa1bbfd27baf072325bffedf723555c39e164f7d7645163090 SHA512 11fc498db4ed1d3a9e5a9288e1137d64f7581cc7b2d265292f7a3899ef5cfc6d63138fef7f87695abd9d518fa1c74a8bd98ebb54038211eeb0afe7964d85c6c4 DIST libblockdev-2.28.tar.gz 925698 BLAKE2B 63ac7ab5bd02c1ef1848d0b252e09fe721cfe86258f063b7bab616766cbc56311707dcb2dd3a1fadf0e0840187f121aa178fd5959500cd590b846238a9d3e36e SHA512 9e01c41db4f728c8e81e710c6bb4725bbe34b3a7de25ff7f57b7b88ca6b7b5debbe858947585d314770036b2c3c533f9f8ff3d038b7ca50eee3d18f9fbe0d392 EBUILD libblockdev-2.28-r1.ebuild 3000 BLAKE2B 3aa70b52c0e0ff70de8b7f471d5fcaf8c7f99bc6a18a32ef0b714eb249c83186e0f85bce6c70c48bab906a6e62e76ca94293459042aea54dbfe6887b1371d765 SHA512 834a2bc93c7d9818132d4da6607e5259e79d2fe29e01dfd14881815a11d3ca116596d0d2e788af99a9ccb955731c4b9fb8c4f9ea51e17b81d20f0e3666036625 -EBUILD libblockdev-2.28.ebuild 2946 BLAKE2B 32bdefce84fc6146b8f03c8889c56c9e25478949071de9e16658ff0535262a3dc8991bd453624676899de2c9e4e9ed49f7a0514fb702417621ddc6b552f59939 SHA512 820425866314934210469b6154c99a932330421d382246b23baea433a39f773b4ca51756564a74f496d5ca0f45b9409e51b42cd18efb94e94abbd0d434b14940 EBUILD libblockdev-9999.ebuild 2733 BLAKE2B b7dd95006279e4717687664c9fa6cff563cb0ff1b8500c0b962742c9b8a440ba51f2e4550cf251a3608c77c17d5bc7f8343372a89052d034b1801e91988044fe SHA512 e0b750ff1819f6de9500855ee87ca55287b7fff6266eda78f9f3c5cc35bb2ea10d2b1d894a8fad90003669144ae10ef533207a3af175aa456849696285792f94 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 deleted file mode 100644 index b8a106eed80b..000000000000 --- a/sys-libs/libblockdev/libblockdev-2.28.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..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} -" - -# TODO: relax libbytesize condition once it has gained py3.11 support -BDEPEND+=" - dev-util/gtk-doc-am - gtk-doc? ( dev-util/gtk-doc ) - introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) - test? ( - $(python_gen_cond_dep ' - dev-libs/libbytesize[python,${PYTHON_USEDEP}] - ' python3_{8..10} ) - sys-block/targetcli-fb - ) -" - -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/libcxx/Manifest b/sys-libs/libcxx/Manifest index c8dec63888cf..d49603741dc8 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -10,6 +10,7 @@ DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fb DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 +DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010 EBUILD libcxx-14.0.6.ebuild 6949 BLAKE2B 963ece6dbc81f876b8894dd2be0ab4fd5e555dcd09feaf014e30411150f43c9f401910741ded4ecaa05d35f0a2bcf3eb7ce519d4019f464075c31db0c9b6523c SHA512 4c73189a6b719bb10527000b30b83c8811aa462d51bc51bd5b2ff703184e01d8805f0b998479116a39e878ef7486c14e2bfef62bd62b1a20718906eb778a0228 @@ -22,4 +23,5 @@ EBUILD libcxx-16.0.5.ebuild 5294 BLAKE2B 83f9a04af5773a5dcf9f0ba430684e2527695b9 EBUILD libcxx-17.0.0.9999.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b EBUILD libcxx-17.0.0_pre20230526.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b EBUILD libcxx-17.0.0_pre20230602.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b +EBUILD libcxx-17.0.0_pre20230609.ebuild 5239 BLAKE2B 397730a8caf3ca40b19225c6742bc885608d0ed93b04857992564c5040d2bc2196718b0372b497289616d1b334fca9b5e48b1a87604618a4435570df67bf2db0 SHA512 0f6d63282362faf2e845d65ec7f027d38d4d7fc84bfcb4302951cfe279504742f28404da2286f9c5a7439f56a07c20912bfad9d43a42b5a17e9a8b141b06805b MISC metadata.xml 718 BLAKE2B 3cc1e43a6f1ada368cfc0bf8aaf49007f6792062b684ab9299b5180d778b158325b6931169b52dd14e85ae9ad6dc1a03be323b814fb920fe8434ad86425d699c SHA512 c2cef3e481c0c3db7de6de8c0a5aff42a1e7fe81155d99f1f0f0988f6d5ca041f787a27a2dde0073037d59e082e2f6da7eefe1303f1c1837ebc12e8e0d28729f diff --git a/sys-libs/libcxx/libcxx-17.0.0_pre20230609.ebuild b/sys-libs/libcxx/libcxx-17.0.0_pre20230609.ebuild new file mode 100644 index 000000000000..56140d06df64 --- /dev/null +++ b/sys-libs/libcxx/libcxx-17.0.0_pre20230609.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit cmake-multilib flag-o-matic llvm llvm.org python-any-r1 \ + toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +KEYWORDS="" +IUSE="+clang +libcxxabi static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + >=dev-util/cmake-3.16 + sys-devel/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # Darwin Prefix builds do not have llvm installed yet, so rely on + # bootstrap-prefix to set the appropriate path vars to LLVM instead + # of using llvm_pkg_setup. + if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/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 4a7c043633ea..82b7906b3a05 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -8,6 +8,7 @@ DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fb DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 +DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010 EBUILD libcxxabi-14.0.6.ebuild 3385 BLAKE2B 4de1316298a9ca1fab72d50484e01346b51a9d14eade701ebcb65100984a63b5bbf3cbea8640dc30e665539cf4af4edd5e1cf4efe7761c6e7cd050ba3d82c3ec SHA512 e23fbcd217ab40c2250bb4ab1fbd7845f9619d0333d2177b20051f9fded815c6b49f806201bf8a023db71287ec73c7ba6b4fa85a1256bef8c7861a2a4f480c31 @@ -19,4 +20,5 @@ EBUILD libcxxabi-16.0.5.ebuild 2922 BLAKE2B deb13575bf9827c2e53b9e9d6179c4cb1db4 EBUILD libcxxabi-17.0.0.9999.ebuild 2867 BLAKE2B 1565024272821f5db0817703d3c344ef2286c0f8cfd09756a9b9ee75482cb89b618b302162bb1cd6b9a4fab3d5e716853fef94015d254a44bd282c50b2b945cc SHA512 b7d17ef8afb5d4415377a9f2b4c9e6a0defec0262c5c8d730036a1c25e8eb2c8fa79c3d67adef58f33b905d43b80d61934dccf1121b7d0669d6e14905655f421 EBUILD libcxxabi-17.0.0_pre20230526.ebuild 2867 BLAKE2B 1565024272821f5db0817703d3c344ef2286c0f8cfd09756a9b9ee75482cb89b618b302162bb1cd6b9a4fab3d5e716853fef94015d254a44bd282c50b2b945cc SHA512 b7d17ef8afb5d4415377a9f2b4c9e6a0defec0262c5c8d730036a1c25e8eb2c8fa79c3d67adef58f33b905d43b80d61934dccf1121b7d0669d6e14905655f421 EBUILD libcxxabi-17.0.0_pre20230602.ebuild 2867 BLAKE2B 1565024272821f5db0817703d3c344ef2286c0f8cfd09756a9b9ee75482cb89b618b302162bb1cd6b9a4fab3d5e716853fef94015d254a44bd282c50b2b945cc SHA512 b7d17ef8afb5d4415377a9f2b4c9e6a0defec0262c5c8d730036a1c25e8eb2c8fa79c3d67adef58f33b905d43b80d61934dccf1121b7d0669d6e14905655f421 +EBUILD libcxxabi-17.0.0_pre20230609.ebuild 2867 BLAKE2B 1565024272821f5db0817703d3c344ef2286c0f8cfd09756a9b9ee75482cb89b618b302162bb1cd6b9a4fab3d5e716853fef94015d254a44bd282c50b2b945cc SHA512 b7d17ef8afb5d4415377a9f2b4c9e6a0defec0262c5c8d730036a1c25e8eb2c8fa79c3d67adef58f33b905d43b80d61934dccf1121b7d0669d6e14905655f421 MISC metadata.xml 557 BLAKE2B 4f6b0acb7cfdf74971a6fd96051d9f9020141c6117333a8de42bd043935b7bff8d9942faabdf3b1c94597c460393f64eb7d3f7b7d49f39ecfd0094de460f563e SHA512 67a812ef768e681ae77ef6e13bccffcbe53b41e94901f0558b3c7acaf896605ca670c4bb5a690bd9afa3b5a76271341710520a6abc0024c18f437fabde20e847 diff --git a/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230609.ebuild b/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230609.ebuild new file mode 100644 index 000000000000..16f40d6829fa --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-17.0.0_pre20230609.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..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 + int test[sizeof(void *) == 8 ? 1 : -1]; + EOF + then + build_omptarget=ON + fi + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget} + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + # prevent trying to access the GPU + -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND + ) + + if [[ ${build_omptarget} == ON ]]; 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/liburing/Manifest b/sys-libs/liburing/Manifest index 4c08cf671393..cfb9592ded2e 100644 --- a/sys-libs/liburing/Manifest +++ b/sys-libs/liburing/Manifest @@ -5,9 +5,10 @@ AUX liburing-2.3-remove-error-from-error_h-for-portability.patch 4160 BLAKE2B 02 DIST liburing-2.1.tar.bz2 120806 BLAKE2B 3a09d1504150ed1c111f064187d868fd86ec7c3dbf661f73999f7fbb9c945b528f7ab2e0cfff5d270a1a977f04deedc7c790b6df8708ef2884fbf28c1a9ffd1b SHA512 a658454869b01752b5e499c4f0b50c342a8ff63b3dd1a473a96f9fad03f22a6e4d2354b0e658a4e7e50ea27440a84ee274856b3687803583bc80cb4bc45aec71 DIST liburing-2.2.tar.bz2 172733 BLAKE2B 19ae8a356e4fdc296bfb3ff121b777bd7c970388b31686aac5c531508e807360d58220bc27f9c62c55bd76ca687013acfceb3fa8a2162b615561f637cc50ffe1 SHA512 55b935a90c108be54393a5ab341b56e40ad8d506360fe15b3dcde5ee263356f11080f8614efdc4253f6318ea35d808ec47a9dbfc6b9f6cc2e04f7f1a75c3f621 DIST liburing-2.3.tar.bz2 197929 BLAKE2B 94ae2a79522fbac13c071ad752f5cbfae3e3b3dd6b35da24e5c756ba47a7b304e5bcb18391ca23fc2edafeb2dbcdcf143fd2cda71656396ac34248159a964fb7 SHA512 341aa13d3b560617f3710291945ec2fe35d828e0b67ee3a97555fd4eb3d2042a7f9e722080d8ebb45aa74a2ca4ef58db1e8a10c351e951a604da007ba69d2738 +DIST liburing-2.4.tar.bz2 213774 BLAKE2B 3e6c28842db6ee10e38df297e392803e0ff40ccfea774b2c473ba63b5583e760371bf0ce8e34ca4311e2bef69eee81b2b50b5e906bb328d5b321488136fc61e0 SHA512 45b5123739280835c88c1addcf99a3210a91c6e1b3e0c5a20fd4cf3ff55db5fd1475b0351806be2e86fedfa313200eecac6a9a6f410a9eca7e451081fd8eec96 EBUILD liburing-2.1-r2.ebuild 1724 BLAKE2B 900c92124e14b809a698f48b81536e4b6c37e6629169fcb0b668cefb51cdcba84d7555a3eff957b0bd1b9c37bb2f4005d9c2bae569b6a1b852043c77614f3d02 SHA512 385c3f5f1d2d5bc38463d758d317ce58ee57261b80e039772a3a050d4aa870dcd80f4a7d5247e6036aea777494edf40af6669438ea4ef9b1cad87144437789aa EBUILD liburing-2.2.ebuild 1574 BLAKE2B 78ebce489d9b427f0832118b0e752cc8cb033a7b98bbb056b85222d69e355d01ca3c3ae3e1a9d9afbad14f0aaa4cdead017a580fc32734adb8097e0bd43f4854 SHA512 84002d4a80e24bc4516170a720f10a15d7fa94e5a7a1831c38be7e109bcc0f90423cfd9097569be4b3af45be366ea1c537fb9626012fda502377fea0438d6b83 EBUILD liburing-2.3-r4.ebuild 2142 BLAKE2B 22748487fd62608752ef8e0dda645e74c948d664818e8f755449bc53c4213f15ba83f00d4aebded5cf82da62e0f5989f4b7de18afc992ba6f3b1c4b9bb4952bf SHA512 7364fd68ba42e0eb970f52f6bb4fefa26a029378164c283ac88b251ccaab5c242c3c4cea5f0f1449bcb2f6a9eb0ba73ac477ee4f5b819f311cc78ad946c38220 -EBUILD liburing-2.3.ebuild 1581 BLAKE2B d67499bcdff891ee3d5883f01dd1250c5357551719cab3aa1b52ec69083acdbe2ef28c29acdab92223ace87440309c7357cc663542270a04889fc558457dc034 SHA512 1820e0094a1830a73d404c052fd22e6fdc9dbc264dcb3b351f8d672caebbb8ab42a9cb318fd33e098ba4d2f2781bd35d903527883bd1af7b581e779e5882dde0 +EBUILD liburing-2.4.ebuild 1896 BLAKE2B 443616eb7133f1887f69373deefc21af17dea96774a15457f906fe269f3e2c6f1bac9b929cc68684d3a3326f46fd10f1fca8efb2ef2f5c43e320a111c34346c8 SHA512 20253472f8bd1fb541cac0f21aaec4d6b3f1106ff9e61bc82370d7f6d65388739dc4246b53c6171156647b70af6c11d88d6993160e8d8088f0cce648156055ee EBUILD liburing-9999.ebuild 1896 BLAKE2B 443616eb7133f1887f69373deefc21af17dea96774a15457f906fe269f3e2c6f1bac9b929cc68684d3a3326f46fd10f1fca8efb2ef2f5c43e320a111c34346c8 SHA512 20253472f8bd1fb541cac0f21aaec4d6b3f1106ff9e61bc82370d7f6d65388739dc4246b53c6171156647b70af6c11d88d6993160e8d8088f0cce648156055ee MISC metadata.xml 326 BLAKE2B 7c133a6dbb4ab4b537c0741ec9f3cd525c0803040950ee93e4c1cbc848c7618074471cc1a18ca07d6963c06252c83b66df0811ebae4c0cf9d7782f66ca5aa14a SHA512 1aacf941a9fa57429468fdfc8f546f559c5d483988ba5c6b0f4ed0fe5913f85d218b2a9eec83bae1d11a71eed36a37e76ccedc192697fbe9763fd0b09b2dcfd7 diff --git a/sys-libs/liburing/liburing-2.3.ebuild b/sys-libs/liburing/liburing-2.3.ebuild deleted file mode 100644 index 60a614906d8e..000000000000 --- a/sys-libs/liburing/liburing-2.3.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib-minimal toolchain-funcs - -DESCRIPTION="Efficient I/O with io_uring" -HOMEPAGE="https://github.com/axboe/liburing" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/axboe/liburing.git" -else - SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi -LICENSE="MIT" -SLOT="0/2" # liburing.so major version - -IUSE="static-libs" -# fsync test hangs forever -RESTRICT="test" - -# At least installed headers need , bug #802516 -DEPEND=">=sys-kernel/linux-headers-5.1" -RDEPEND="${DEPEND}" - -src_prepare() { - default - - if [[ "${PV}" != *9999 ]] ; then - # Make sure pkgconfig files contain the correct version - # bug #809095 and #833895 - sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die - fi - - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - --prefix="${EPREFIX}/usr" - --libdir="${EPREFIX}/usr/$(get_libdir)" - --libdevdir="${EPREFIX}/usr/$(get_libdir)" - --mandir="${EPREFIX}/usr/share/man" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - ) - # No autotools configure! "econf" will fail. - TMPDIR="${T}" ./configure "${myconf[@]}" || die -} - -multilib_src_compile() { - emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -} - -multilib_src_install_all() { - einstalldocs - - if ! use static-libs ; then - find "${ED}" -type f -name "*.a" -delete || die - fi -} - -multilib_src_test() { - emake V=1 runtests -} diff --git a/sys-libs/liburing/liburing-2.4.ebuild b/sys-libs/liburing/liburing-2.4.ebuild new file mode 100644 index 000000000000..ecb77ed5b823 --- /dev/null +++ b/sys-libs/liburing/liburing-2.4.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="Efficient I/O with io_uring" +HOMEPAGE="https://github.com/axboe/liburing" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/axboe/liburing.git" +else + SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + QA_PKGCONFIG_VERSION=${PV} +fi +LICENSE="MIT" +SLOT="0/2" # liburing.so major version + +IUSE="examples static-libs test" +# fsync test hangs forever +RESTRICT="!test? ( test )" + +# At least installed headers need , bug #802516 +DEPEND=">=sys-kernel/linux-headers-5.1" +RDEPEND="${DEPEND}" + +src_prepare() { + default + + if ! use examples; then + sed -e '/examples/d' Makefile -i || die + fi + if ! use test; then + sed -e '/test/d' Makefile -i || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --libdevdir="${EPREFIX}/usr/$(get_libdir)" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + ) + # No autotools configure! "econf" will fail. + TMPDIR="${T}" ./configure "${myconf[@]}" || die +} + +multilib_src_compile() { + emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -type f -name "*.a" -delete || die + fi +} + +multilib_src_test() { + local disabled_tests=( + accept.c + fpos.c + io_uring_register.c + link-timeout.c + read-before-exit.c + recv-msgall-stream.c + ) + local disabled_test + for disabled_test in "${disabled_tests[@]}"; do + sed -i "/\s*${disabled_test}/d" test/Makefile \ + || die "Failed to remove ${disabled_test}" + done + + emake -C test V=1 runtests +} diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index de7592942abd..8ad4621884df 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -8,6 +8,7 @@ DIST llvm-project-16.0.4.src.tar.xz 117996332 BLAKE2B 2ea3ef25290ce6180d271e42fb DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8efcfed9c6780fae3b5c71c0f1aea19a4131ee91c36bdf5b10e44f478f2370c8d22a9038038ecd607f25a95f2d3e33628eb9ac0 SHA512 c902d1b652e6e144fcf74f550539f56665475b6bdf673ba5bf2f1731c3bb8f5717ed56433d488c54bbf2f429b432da84e0bfb4b5fb5f2b7fa208b4f24f682be7 DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99 DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869 +DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0 DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3 DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010 EBUILD llvm-libunwind-14.0.6-r1.ebuild 3161 BLAKE2B ba7b19ed2bc77b52eee0b04d938541d2eb4053b65a641e55e54ebac85adcd432fa60b2b484003890bc96be83d61410bb58c2f3a86f12a7c574044a8e10427db9 SHA512 11854f9ef2a552a96e51c618958e553d4cd4affc78312845a223d0fe6d2ff62e8f8b2b3c29ad4a093b08a6df63b230f21b9ef6b63440058322f6a00f160df3e4 @@ -19,4 +20,5 @@ EBUILD llvm-libunwind-16.0.5.ebuild 3045 BLAKE2B e0704cc1c6a743ecd3c073df9456f7a EBUILD llvm-libunwind-17.0.0.9999.ebuild 2979 BLAKE2B 6c50c9b69b0cc8fa3799e9506b5d45946ea2606dc53d0925976633c2209f6148653e8b12bc31b76f56c4963d64b27971aec00c9e4da89d0489a76d1ba61a9f37 SHA512 e09e4bdbd8af6a470894c5950d81edf7574eba7c56f922c5447777247fa886dde958b8ee13257ca40cd7cee8af9f91fd6b9c11cf42a53b48bee0aacb469270ee EBUILD llvm-libunwind-17.0.0_pre20230526.ebuild 2979 BLAKE2B 6c50c9b69b0cc8fa3799e9506b5d45946ea2606dc53d0925976633c2209f6148653e8b12bc31b76f56c4963d64b27971aec00c9e4da89d0489a76d1ba61a9f37 SHA512 e09e4bdbd8af6a470894c5950d81edf7574eba7c56f922c5447777247fa886dde958b8ee13257ca40cd7cee8af9f91fd6b9c11cf42a53b48bee0aacb469270ee EBUILD llvm-libunwind-17.0.0_pre20230602.ebuild 2979 BLAKE2B 6c50c9b69b0cc8fa3799e9506b5d45946ea2606dc53d0925976633c2209f6148653e8b12bc31b76f56c4963d64b27971aec00c9e4da89d0489a76d1ba61a9f37 SHA512 e09e4bdbd8af6a470894c5950d81edf7574eba7c56f922c5447777247fa886dde958b8ee13257ca40cd7cee8af9f91fd6b9c11cf42a53b48bee0aacb469270ee +EBUILD llvm-libunwind-17.0.0_pre20230609.ebuild 2979 BLAKE2B 6c50c9b69b0cc8fa3799e9506b5d45946ea2606dc53d0925976633c2209f6148653e8b12bc31b76f56c4963d64b27971aec00c9e4da89d0489a76d1ba61a9f37 SHA512 e09e4bdbd8af6a470894c5950d81edf7574eba7c56f922c5447777247fa886dde958b8ee13257ca40cd7cee8af9f91fd6b9c11cf42a53b48bee0aacb469270ee MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230609.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230609.ebuild new file mode 100644 index 000000000000..51cf06f1cda3 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-17.0.0_pre20230609.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..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 +" +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 +} -- cgit v1.2.3