diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-06-24 00:11:52 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-06-24 00:11:52 +0100 |
commit | 67e5603b2844a6657dd0438fa26626b013e5567f (patch) | |
tree | e7319631fdf1c41ddbe888e89a717d1ba42af992 /sys-libs | |
parent | bff543bb632933380da922cbfc07c67157d72d42 (diff) |
gentoo auto-resync : 24:06:2024 - 00:11:52
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/Manifest.gz | bin | 14569 -> 14572 bytes | |||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild | 220 | ||||
-rw-r--r-- | sys-libs/compiler-rt/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild | 172 | ||||
-rw-r--r-- | sys-libs/libcxx/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild | 201 | ||||
-rw-r--r-- | sys-libs/libcxxabi/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild | 110 | ||||
-rw-r--r-- | sys-libs/libomp/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild | 88 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/Manifest | 2 | ||||
-rw-r--r-- | sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild | 128 | ||||
-rw-r--r-- | sys-libs/pkgcraft/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild | 92 | ||||
-rw-r--r-- | sys-libs/pkgcraft/pkgcraft-9999.ebuild | 2 |
16 files changed, 1027 insertions, 2 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz Binary files differindex d1a6f6e6dfe1..aeccbe232012 100644 --- a/sys-libs/Manifest.gz +++ b/sys-libs/Manifest.gz diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest index 8da8715c9cc5..f01cc552e67a 100644 --- a/sys-libs/compiler-rt-sanitizers/Manifest +++ b/sys-libs/compiler-rt-sanitizers/Manifest @@ -7,6 +7,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD compiler-rt-sanitizers-15.0.7.ebuild 6648 BLAKE2B 89d90e750bc9c3c35e8a42a259fd84bc147ed9b7ed66168435f0010ef8adaf35e04e2cd43c1acc144668e04f5c229ca3cfd99aeb01b4ba2e46f10dd4615e131d SHA512 4f290993d65b7a17280c5ea9a9d19e13cefdde3aebc2236271e02bb1517655895e8eb3adc2047a849ce11dbacf8d7eddec715ab14523122089d856c21ae123a0 @@ -16,4 +17,5 @@ EBUILD compiler-rt-sanitizers-18.1.7.ebuild 6358 BLAKE2B 1a191c1e493b3a596a68314 EBUILD compiler-rt-sanitizers-19.0.0.9999.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 EBUILD compiler-rt-sanitizers-19.0.0_pre20240608.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 EBUILD compiler-rt-sanitizers-19.0.0_pre20240615.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 +EBUILD compiler-rt-sanitizers-19.0.0_pre20240623.ebuild 6366 BLAKE2B 4e6459ee51444413b05b661deedbe0f3543f71f6e05349a3a7f4a6352897ee7ea8a62a8ec4a26c5c31a4ba21e68b045b3e37d9e2530ad51519a9f7d2a455342c SHA512 c7ec9377a079c30b3460a7201482b5183ab35755824a7d1c81d90dc2c519a6e2410c0f51fdb4719b8239ee841c162b20ad1cf191068a27a8f13664cad4aa1ca9 MISC metadata.xml 1475 BLAKE2B f7ea99e3103e42a2c79fe6c86ad174297e56bcffa7b164ac3ab0a239ba5adf2265b7fc458ce8b22c9c3bd647bb03d674abf842443cb32bf8d88c683746650a19 SHA512 8e52479d3b040718a3fdaa811030bc45ef33ce74daae3e365281074cdf6d586ba11ae5f14d87dbb456f00fe4b9ae6057f3bf30eb0973cc16cbdcc3eba01ff9f8 diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..d395b7fd5a11 --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-19.0.0_pre20240623.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit check-reqs cmake flag-o-matic llvm.org llvm-utils python-any-r1 + +DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +# base targets +IUSE+=" +ctx-profile +libfuzzer +memprof +orc +profile +xray" +# sanitizer targets, keep in sync with config-ix.cmake +# NB: ubsan, scudo deliberately match two entries +SANITIZER_FLAGS=( + asan dfsan lsan msan hwasan tsan ubsan safestack cfi scudo + shadowcallstack gwp-asan +) +IUSE+=" ${SANITIZER_FLAGS[@]/#/+}" +REQUIRED_USE=" + || ( ${SANITIZER_FLAGS[*]} libfuzzer orc profile xray ) + test? ( + cfi? ( ubsan ) + gwp-asan? ( scudo ) + ) +" +RESTRICT=" + !clang? ( test ) + !test? ( test ) +" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} + virtual/libcrypt[abi_x86_32(-)?,abi_x86_64(-)?] +" +BDEPEND=" + clang? ( sys-devel/clang ) + elibc_glibc? ( net-libs/libtirpc ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + sys-libs/compiler-rt:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +LLVM_TEST_COMPONENTS=( + llvm/include/llvm/ProfileData llvm/lib/Testing/Support third-party +) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +check_space() { + if use test; then + local CHECKREQS_DISK_BUILD=11G + check-reqs_pkg_pretend + fi +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + python-any-r1_pkg_setup +} + +src_prepare() { + sed -i -e 's:-Werror::' lib/tsan/go/buildgo.sh || die + + local flag + for flag in "${SANITIZER_FLAGS[@]}"; do + if ! use "${flag}"; then + local cmake_flag=${flag/-/_} + sed -i -e "/COMPILER_RT_HAS_${cmake_flag^^}/s:TRUE:FALSE:" \ + cmake/config-ix.cmake || die + fi + done + + # TODO: fix these tests to be skipped upstream + if use asan && ! use profile; then + rm test/asan/TestCases/asan_and_llvm_coverage_test.cpp || die + fi + if use ubsan && ! use cfi; then + > test/cfi/CMakeLists.txt || die + fi + # hangs, sigh + rm test/tsan/getline_nohang.cpp || die + + llvm.org_src_prepare +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/compiler-rt_build + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local flag want_sanitizer=OFF + for flag in "${SANITIZER_FLAGS[@]}"; do + if use "${flag}"; then + want_sanitizer=ON + break + fi + done + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + # use a build dir structure consistent with install + # this makes it possible to easily deploy test-friendly clang + -DCOMPILER_RT_OUTPUT_DIR="${BUILD_DIR}/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + # builtins & crt installed by sys-libs/compiler-rt + -DCOMPILER_RT_BUILD_BUILTINS=OFF + -DCOMPILER_RT_BUILD_CRT=OFF + -DCOMPILER_RT_BUILD_CTX_PROFILE=$(usex ctx-profile) + -DCOMPILER_RT_BUILD_LIBFUZZER=$(usex libfuzzer) + -DCOMPILER_RT_BUILD_MEMPROF=$(usex memprof) + -DCOMPILER_RT_BUILD_ORC=$(usex orc) + -DCOMPILER_RT_BUILD_PROFILE=$(usex profile) + -DCOMPILER_RT_BUILD_SANITIZERS="${want_sanitizer}" + -DCOMPILER_RT_BUILD_XRAY=$(usex xray) + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + # they are created during src_test() + -DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${BUILD_DIR}/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + + # same flags are passed for build & tests, so we need to strip + # them down to a subset supported by clang + CC=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang \ + CXX=${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++ \ + strip-unsupported-flags + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX + # This disables i386 for SDK >= 10.15 + # Will error if has_use tsan and SDK < 10.12 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + cmake_src_configure + + if use test; then + local sys_dir=( "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/lib/* ) + [[ -e ${sys_dir} ]] || die "Unable to find ${sys_dir}" + [[ ${#sys_dir[@]} -eq 1 ]] || die "Non-deterministic compiler-rt install: ${sys_dir[*]}" + + # copy clang over since resource_dir is located relatively to binary + # therefore, we can put our new libraries in it + mkdir -p "${BUILD_DIR}"/lib/{llvm/${LLVM_MAJOR}/{bin,$(get_libdir)},clang/${LLVM_MAJOR}/include} || die + cp "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/bin/clang{,++} \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/bin/ || die + cp "${EPREFIX}"/usr/lib/clang/${LLVM_MAJOR}/include/*.h \ + "${BUILD_DIR}"/lib/clang/${LLVM_MAJOR}/include/ || die + cp "${sys_dir}"/*builtins*.a \ + "${BUILD_DIR}/lib/clang/${LLVM_MAJOR}/lib/${sys_dir##*/}/" || die + # we also need LLVMgold.so for gold-based tests + if [[ -f ${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so ]]; then + ln -s "${EPREFIX}"/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/LLVMgold.so \ + "${BUILD_DIR}"/lib/llvm/${LLVM_MAJOR}/$(get_libdir)/ || die + fi + fi +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + # disable sandbox to have it stop clobbering LD_PRELOAD + local -x SANDBOX_ON=0 + # wipe LD_PRELOAD to make ASAN happy + local -x LD_PRELOAD= + + cmake_build check-all +} diff --git a/sys-libs/compiler-rt/Manifest b/sys-libs/compiler-rt/Manifest index 68de61f8b5d8..22482e67c9bc 100644 --- a/sys-libs/compiler-rt/Manifest +++ b/sys-libs/compiler-rt/Manifest @@ -9,6 +9,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD compiler-rt-15.0.7.ebuild 4238 BLAKE2B 22d56dbe24c92400bf58942390b06af70fddba89d8fecc9b85162dd7a41c6ee592eaaf883f5ad483f65f74fabccc28f94528688410ee36e2d5279efcc6066de0 SHA512 ca49d23def580d4dcfc4058768eeb9deb6e59ea44575da272d1c142fffe0bf4e3d3c7c9fa6182ab348a3aab11879af116a549cb1a3a03b27b4bf4151cf892aaa @@ -19,4 +20,5 @@ EBUILD compiler-rt-18.1.7.ebuild 4972 BLAKE2B 3bd56ca93ddb3f21007b16c794140281e9 EBUILD compiler-rt-19.0.0.9999.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9 EBUILD compiler-rt-19.0.0_pre20240608.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9 EBUILD compiler-rt-19.0.0_pre20240615.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9 +EBUILD compiler-rt-19.0.0_pre20240623.ebuild 4907 BLAKE2B 0fa9438438d1c499cf382315f9da67ab920037c22e6413180f50f509347aa82e76d2f8223cf725902523f8358a8b95bd063f184aac70951192029c857de5260a SHA512 c5782efd4cc5239a9c40339338128e3122df12319857c46ab0fb4a869e81438d84daedd934aae446b0156695ce1ee5779d20f12ff9b63fd79a5d22f67ae72bb9 MISC metadata.xml 416 BLAKE2B 79a58249c94b605ba57f346c4e05b43853cf6cfb8bb65a4f4e3c44039cccfdb83dd31bfaaaf398bcbdc393efabdfc7ed186fe775976c46227e74decf2c8f4fb2 SHA512 ce30c79a575e5933effb1fec36f9a4ef02d9f97f312feb39c55a88cbda9a1bae1d7af2ec4ad5f66212cbb2cdbfb26f1a436689f16f410153c9d65eb010264c48 diff --git a/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild b/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..4679822780fc --- /dev/null +++ b/sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240623.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Compiler runtime library for clang (built-in part)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="${LLVM_MAJOR}" +IUSE="+abi_x86_32 abi_x86_64 +clang +debug test" +RESTRICT="!test? ( test ) !clang? ( test )" + +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( sys-devel/clang ) + test? ( + $(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]") + =sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) +" + +LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + if ! use clang && ! tc-is-clang; then + ewarn "Building using a compiler other than clang may result in broken atomics" + ewarn "library. Enable USE=clang unless you have a very good reason not to." + fi +} + +pkg_setup() { + if target_is_not_host || tc-is-cross-compiler ; then + # strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures + CHOST=${CTARGET} strip-unsupported-flags + # overrides host docs otherwise + DOCS=() + fi + python-any-r1_pkg_setup +} + +test_compiler() { + target_is_not_host && return + $(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + # pre-set since we need to pass it to cmake + BUILD_DIR=${WORKDIR}/${P}_build + + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + if ! is_crosspkg && ! test_compiler ; then + local nolib_flags=( -nodefaultlibs -lc ) + + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + elif test_compiler "${nolib_flags[@]}" -nostartfiles; then + # Avoiding -nostartfiles earlier on for bug #862540, + # and set available entry symbol for bug #862798. + nolib_flags+=( -nostartfiles -e main ) + + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local mycmakeargs=( + -DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}" + + -DCOMPILER_RT_INCLUDE_TESTS=$(usex test) + -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF + -DCOMPILER_RT_BUILD_LIBFUZZER=OFF + -DCOMPILER_RT_BUILD_MEMPROF=OFF + -DCOMPILER_RT_BUILD_ORC=OFF + -DCOMPILER_RT_BUILD_PROFILE=OFF + -DCOMPILER_RT_BUILD_SANITIZERS=OFF + -DCOMPILER_RT_BUILD_XRAY=OFF + + -DPython3_EXECUTABLE="${PYTHON}" + ) + + if use amd64 && ! target_is_not_host; then + mycmakeargs+=( + -DCAN_TARGET_i386=$(usex abi_x86_32) + -DCAN_TARGET_x86_64=$(usex abi_x86_64) + ) + fi + + if is_crosspkg; then + # Needed to target built libc headers + export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include" + mycmakeargs+=( + # Without this, the compiler will compile a test program + # and fail due to no builtins. + -DCMAKE_C_COMPILER_WORKS=1 + -DCMAKE_CXX_COMPILER_WORKS=1 + + # Without this, compiler-rt install location is not unique + # to target triples, only to architecture. + # Needed if you want to target multiple libcs for one arch. + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON + + -DCMAKE_ASM_COMPILER_TARGET="${CTARGET}" + -DCMAKE_C_COMPILER_TARGET="${CTARGET}" + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON + ) + fi + + if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then + mycmakeargs+=( + # setting -isysroot is disabled with compiler-rt-prefix-paths.patch + # this allows adding arm64 support using SDK in EPREFIX + -DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk" + # Set version based on the SDK in EPREFIX. + # This disables i386 for SDK >= 10.15 + -DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')" + # Use our libtool instead of looking it up with xcrun + -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool" + ) + fi + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + + -DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang" + -DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++" + ) + fi + + cmake_src_configure +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-builtins +} diff --git a/sys-libs/libcxx/Manifest b/sys-libs/libcxx/Manifest index a0a9ac814cca..25051cec003a 100644 --- a/sys-libs/libcxx/Manifest +++ b/sys-libs/libcxx/Manifest @@ -8,6 +8,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD libcxx-15.0.7-r1.ebuild 5283 BLAKE2B 4380fc5b851054a5ec226ee4c92a2b79511d73ac9b3f8bccc977211601eca36113fc0ae605854da53898507021f24a8b319197605c556244d84253bede7b84f4 SHA512 0a5859269422e794deb43ed960651a1dea830af28b5e395f32e28de8e67a1f399507340230af1c84248853f554e751709a60a9a78aeb0eb42804cb41907dbfce @@ -17,4 +18,5 @@ EBUILD libcxx-18.1.7.ebuild 5447 BLAKE2B 262f4dd0ccb046dcdf7f6970350381a9a48530f EBUILD libcxx-19.0.0.9999.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 EBUILD libcxx-19.0.0_pre20240608.ebuild 5397 BLAKE2B 21d3fc915eaa8b5f3d9821b527aeaf79a70e1037e556e7cf39c8dc8c8df6bd6e115510c0a89436edcd9a7aefacc698f7043abeb330402a60f591af68c8fb0a33 SHA512 4b5467000c57558e191d26ba94aad76b56b1d502a552727e148a82859977f47471d16a19dbdd1327cf915c8151339dac9af96d0d06d8e0ab0c021717ecb931ea EBUILD libcxx-19.0.0_pre20240615.ebuild 5360 BLAKE2B ef6ea8f9d98420da812497805b6f953b509111ed65dacdca09f5c60ab11b617c4570e4ed8dba7ec3f1bd4bbc8a5193c2e6e7f9f4e83ad4f22fd590af36ac1fcc SHA512 044bace747db1ee968841521b56ae10e7d77d065bfdcbc0d8f4af018a99cdfc8e997d68de83c5ce9086011c271b4ae00f8bf65dccfe1480fba86803df3a3c786 +EBUILD libcxx-19.0.0_pre20240623.ebuild 5101 BLAKE2B 4fb27fae1b4b3230de9b645416cba17ceb584260faf4c640d743b482cf333116ee00138ce206a62fbdb2811cd6e59dba2d8463949a17545a74f50837c274f355 SHA512 b88b738fad3d0f2aba6736ef9361250165a25a9f6011c8a8f61f035475d84f7bc8d9f3da95ab549d3eebeee338301dd734eed3c85365015134765ef003daa341 MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335 diff --git a/sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild b/sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..a0d07e1507f4 --- /dev/null +++ b/sys-libs/libcxx/libcxx-19.0.0_pre20240623.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="New implementation of the C++ standard library, targeting C++11" +HOMEPAGE="https://libcxx.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +libcxxabi +static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + libcxxabi? ( + ~sys-libs/libcxxabi-${PV}[static-libs?,${MULTILIB_USEDEP}] + ) + !libcxxabi? ( >=sys-devel/gcc-4.7:=[cxx] ) +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + dev-debug/gdb[python] + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{,abi} llvm/{cmake,utils/llvm-lit} cmake ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup + + if ! use libcxxabi && ! tc-is-gcc ; then + eerror "To build ${PN} against libsupc++, you have to use gcc. Other" + eerror "compilers are not supported. Please set CC=gcc and CXX=g++" + eerror "and try again." + die + fi +} + +test_compiler() { + $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c++ - \ + <<<'int main() { return 0; }' &>/dev/null +} + +src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + # note: we need to do this before multilib kicks in since it will + # alter the CHOST + local cxxabi cxxabi_incs + if use libcxxabi; then + cxxabi=system-libcxxabi + cxxabi_incs="${EPREFIX}/usr/include/c++/v1" + else + local gcc_inc="${EPREFIX}/usr/lib/gcc/${CHOST}/$(gcc-fullversion)/include/g++-v$(gcc-major-version)" + cxxabi=libsupc++ + cxxabi_incs="${gcc_inc};${gcc_inc}/${CHOST}" + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + # bootstrap: cmake is unhappy if compiler can't link to stdlib + local nolib_flags=( -nodefaultlibs -lc ) + if ! test_compiler; then + if test_compiler "${nolib_flags[@]}"; then + local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}" + ewarn "${CXX} seems to lack runtime, trying with ${nolib_flags[*]}" + fi + fi + + local libdir=$(get_libdir) + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES=libcxx + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=$(usex static-libs) + -DLIBCXX_CXX_ABI=${cxxabi} + -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi_incs} + # we're using our own mechanism for generating linker scripts + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=$(usex test) + -DLIBCXX_INSTALL_MODULES=ON + -DLIBCXX_USE_COMPILER_RT=${use_compiler_rt} + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + ) + + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_src_compile + if [[ ${CHOST} != *-darwin* ]] ; then + gen_shared_ldscript + use static-libs && gen_static_ldscript + fi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxx +} + +multilib_src_install() { + cmake_src_install + # since we've replaced libc++.{a,so} with ldscripts, now we have to + # install the extra symlinks + if [[ ${CHOST} != *-darwin* ]] ; then + dolib.so lib/libc++_shared.so + use static-libs && dolib.a lib/libc++_static.a + fi +} + +# Usage: deps +gen_ldscript() { + local output_format + output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') + [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )" + + cat <<-END_LDSCRIPT +/* GNU ld script + Include missing dependencies +*/ +${output_format} +GROUP ( $@ ) +END_LDSCRIPT +} + +gen_static_ldscript() { + # Move it first. + mv lib/libc++{,_static}.a || die + # Generate libc++.a ldscript for inclusion of its dependencies so that + # clang++ -stdlib=libc++ -static works out of the box. + local deps=( + libc++_static.a + $(usex libcxxabi libc++abi.a libsupc++.a) + ) + # On Linux/glibc it does not link without libpthread or libdl. It is + # fine on FreeBSD. + use elibc_glibc && deps+=( libpthread.a libdl.a ) + + gen_ldscript "${deps[*]}" > lib/libc++.a || die +} + +gen_shared_ldscript() { + # Move it first. + mv lib/libc++{,_shared}.so || die + local deps=( + libc++_shared.so + # libsupc++ doesn't have a shared version + $(usex libcxxabi libc++abi.so libsupc++.a) + ) + + gen_ldscript "${deps[*]}" > lib/libc++.so || die +} diff --git a/sys-libs/libcxxabi/Manifest b/sys-libs/libcxxabi/Manifest index dd676dd50b18..507afd16b3d3 100644 --- a/sys-libs/libcxxabi/Manifest +++ b/sys-libs/libcxxabi/Manifest @@ -6,6 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD libcxxabi-15.0.7.ebuild 2911 BLAKE2B 5f2004d2f68fe4eddb0b22be82d28fcca7954d0e3ad9a5510744adc4d0dfd7a1ab9fd928404adcd3eeecc58703f51117d0a80e5895b53e0ae7b71621ad5a435c SHA512 5b8e2c6abdec785649aa41b7f05ab86ecab30ff0631d6078c9b1052b406c320c5847b8f16ffa6d9e62ba4a6bca5959b18770810924d6e6da264fb08d6ff738d0 @@ -15,4 +16,5 @@ EBUILD libcxxabi-18.1.7.ebuild 2764 BLAKE2B 1d716983ec2cf1f3ad73b9a3947feb5deddd EBUILD libcxxabi-19.0.0.9999.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 EBUILD libcxxabi-19.0.0_pre20240608.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 EBUILD libcxxabi-19.0.0_pre20240615.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 +EBUILD libcxxabi-19.0.0_pre20240623.ebuild 2684 BLAKE2B db3cdfc7962bc9b9a40f6783b813bb64a26a2d9cff7bcab99fb2b8ff6221789a8799c077837492280b543cd32bf6853638e0a9b3f07b36d0f9683e7b41601c8b SHA512 b0eb6cbd9ff0ccb5f08fefeb7c00e2eb08574137a0f38b52e4df9ea462b2c1c521d4fa8628f407bcbb26aedb77406b4eabbe1ef9c7939fed2b9be5fc0ce1ca34 MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87 diff --git a/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild b/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..903f8e866cb6 --- /dev/null +++ b/sys-libs/libcxxabi/libcxxabi-19.0.0_pre20240623.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="Low level support for a standard C++ library" +HOMEPAGE="https://libcxxabi.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +# in 15.x, cxxabi.h is moving from libcxx to libcxxabi +RDEPEND+=" + !<sys-libs/libcxx-15 +" +DEPEND=" + ${RDEPEND} + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + local libdir=$(get_libdir) + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" + -DLLVM_INCLUDE_TESTS=OFF + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_ENABLE_STATIC=$(usex static-libs) + -DLIBCXXABI_INCLUDE_TESTS=$(usex test) + -DLIBCXXABI_USE_COMPILER_RT=${use_compiler_rt} + + # upstream is omitting standard search path for this + # probably because gcc & clang are bundling their own unwind.h + -DLIBCXXABI_LIBUNWIND_INCLUDES="${EPREFIX}"/usr/include + # this is broken with standalone builds, and also meaningless + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=ON + -DLIBCXX_ENABLE_STATIC=OFF + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + ) + if use test; then + mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + fi + cmake_src_configure +} + +multilib_src_compile() { + cmake_build cxxabi +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-cxxabi +} + +multilib_src_install() { + DESTDIR="${D}" cmake_build install-cxxabi +} diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest index 05e1c378339a..9f1095891045 100644 --- a/sys-libs/libomp/Manifest +++ b/sys-libs/libomp/Manifest @@ -7,6 +7,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD libomp-15.0.7-r6.ebuild 3470 BLAKE2B 9f76ca5b080ccf01617d7dcbfe3eb424c525adbcf72f2b5f09dc7bead1e28df1a0ffdf5ef47bcc7f8cac130f1d22e804e29938cda6df0ee58359ac5ff88aea86 SHA512 1a0a4b10f9a67634ea265e6df3c3f9993ed5ee3818eba2cbb6b65d8f5c3a0d2d266134f3e276985e87eca18b47a44d6de61e4c9c3496fd36c6c338dcf79b9850 @@ -16,4 +17,5 @@ EBUILD libomp-18.1.7.ebuild 4287 BLAKE2B 65c6e04062bbf04d9655f226a97ecb10af4f249 EBUILD libomp-19.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea EBUILD libomp-19.0.0_pre20240608.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea EBUILD libomp-19.0.0_pre20240615.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea +EBUILD libomp-19.0.0_pre20240623.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f diff --git a/sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild b/sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..32b91b3699c4 --- /dev/null +++ b/sys-libs/libomp/libomp-19.0.0_pre20240623.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic cmake-multilib linux-info llvm.org python-single-r1 + +DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" +HOMEPAGE="https://openmp.llvm.org" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0/${LLVM_SOABI}" +IUSE="+debug gdb-plugin hwloc ompt test" +REQUIRED_USE=" + gdb-plugin? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gdb-plugin? ( ${PYTHON_DEPS} ) + hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] ) +" +# tests: +# - dev-python/lit provides the test runner +# - sys-devel/llvm provide test utils (e.g. FileCheck) +# - sys-devel/clang provides the compiler to run tests +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-lang/perl + test? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/lit[${PYTHON_USEDEP}] + ') + sys-devel/clang + ) +" + +LLVM_COMPONENTS=( openmp cmake llvm/include ) +llvm.org_set_globals + +pkg_setup() { + if use gdb-plugin || use test; then + python-single-r1_pkg_setup + fi +} + +multilib_src_configure() { + # LTO causes issues in other packages building, #870127 + filter-lto + + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + local libdir="$(get_libdir)" + local mycmakeargs=( + -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" + + -DLIBOMP_USE_HWLOC=$(usex hwloc) + -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin) + -DLIBOMP_OMPT_SUPPORT=$(usex ompt) + + # do not install libgomp.so & libiomp5.so aliases + -DLIBOMP_INSTALL_ALIASES=OFF + # disable unnecessary hack copying stuff back to srcdir + -DLIBOMP_COPY_EXPORTS=OFF + ) + + use test && mycmakeargs+=( + # this project does not use standard LLVM cmake macros + -DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit" + -DOPENMP_LIT_ARGS="$(get_lit_flags)" + + -DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")" + -DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")" + ) + cmake_src_configure +} + +multilib_src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-libomp +} diff --git a/sys-libs/llvm-libunwind/Manifest b/sys-libs/llvm-libunwind/Manifest index bbfd1b6b4c09..3ac943ce6e4e 100644 --- a/sys-libs/llvm-libunwind/Manifest +++ b/sys-libs/llvm-libunwind/Manifest @@ -6,6 +6,7 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541 DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340 DIST llvm-project-18.1.7.src.tar.xz 132063384 BLAKE2B b8c37bd131fb5f3131bfab4fbad7aa811079ca10723faa14779253bc62b1ee08d4e04650e1da883297ed88a62d518b868a1f13cf57d03233254fd01209da5c02 SHA512 0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8 DIST llvm-project-18.1.7.src.tar.xz.sig 566 BLAKE2B 9ae6d80eba5309ce3d5cba580df57c28dbcf429266b2ced622465e34ab2a7ae0f100d1e89c73a44abccd95a3367979344450fd53fb6a2baa029b929d3f13eee3 SHA512 7e5601e35f4fcaa4ed042638ae5a4fb90714c9dce58aa3f98e965568660b88294185621a4eb5547de262dca8a96f620db3f94932bb1776661e345dbe1266315c +DIST llvm-project-3ae6755719c6dfc07761b4e9bdac8c86bcb41734.tar.gz 213487323 BLAKE2B 12030750fca0e7db4ae07a608874877151b2393cf58388f067b469e913ce9ac3f264440ebb3df5ea33f9f97cb87928fa746c98ba26c8d296f9e26dcbf950afc2 SHA512 951b70eafc8aea5b1f7847002229d89df565ca8180deef08b25966dcf070a7603a258e5fc24f9496251d23d275040724ed5e9499432ba3e19f5984f6f1c3c645 DIST llvm-project-5aabbf0602c48b67bb89fd37f95bf97c95ded488.tar.gz 212582616 BLAKE2B 78522148bb4993bd26b16f1e3f44c2baf617705667c7fb104edc844c4330017166c783adae2f0215ca7463c05d1eef30fdf02b13241a9497aaede36bb8580a26 SHA512 104e0b5b4f34102f2da03cd54fe9bf5f7fb6efb3a9745d8ec85caa5f92189fde4a5c02c327243d87ff5c7d24b3790fcabdf0ef7144e79e15765785ca72dd3841 DIST llvm-project-cddb9ce04e68d876de895d39d60b6af34d569012.tar.gz 213219536 BLAKE2B 5aba2c1dd19d73a8691590873f1697fa32adeab7f84d1d5636e211071e64bfa5d28a49ea9cfdba5fbae77c9520c2103a9f1544d669c7948a318636557f45f6ee SHA512 69ed25a0565c61cd4eb512e95b0fd2d2a3a09dbad73e7186d7fb1764193b06e522572eafb271d21469a4bfb133a62efe65e5ccd20cf05af8b43c52e195d477a9 EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb @@ -15,4 +16,5 @@ EBUILD llvm-libunwind-18.1.7.ebuild 3413 BLAKE2B 9a59c656e7ee118568d2c81e4af2e2c EBUILD llvm-libunwind-19.0.0.9999.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a EBUILD llvm-libunwind-19.0.0_pre20240608.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a EBUILD llvm-libunwind-19.0.0_pre20240615.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a +EBUILD llvm-libunwind-19.0.0_pre20240623.ebuild 3316 BLAKE2B bd35bebb24f85df1df172da2753279735077353c2a2b06df35700ad58b32fecdb29f6045be9d3c51316e764bda2a75295fb879fd635da71747ad0ab11dc5649d SHA512 8211878d4fde53625702b27cce8bf7a09cf97238c52e1078f6895b58675f76c78aa60f8a886a2f25d0cf71becdcefd94e8666b9c8915fecbe5b47accdc9b988a MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845 diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild new file mode 100644 index 000000000000..e4c76c15ebc8 --- /dev/null +++ b/sys-libs/llvm-libunwind/llvm-libunwind-19.0.0_pre20240623.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 +inherit toolchain-funcs + +DESCRIPTION="C++ runtime stack unwinder from LLVM" +HOMEPAGE="https://llvm.org/docs/ExceptionHandling.html" + +LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )" +SLOT="0" +IUSE="+clang +debug static-libs test" +REQUIRED_USE="test? ( clang )" +RESTRICT="!test? ( test )" + +RDEPEND=" + !sys-libs/libunwind +" +DEPEND=" + sys-devel/llvm:${LLVM_MAJOR} +" +BDEPEND=" + clang? ( + sys-devel/clang:${LLVM_MAJOR} + ) + !test? ( + ${PYTHON_DEPS} + ) + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" + +LLVM_COMPONENTS=( runtimes libunwind libcxx llvm/cmake cmake ) +LLVM_TEST_COMPONENTS=( libcxxabi llvm/utils/llvm-lit ) +llvm.org_set_globals + +python_check_deps() { + use test || return 0 + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +multilib_src_configure() { + llvm_prepend_path "${LLVM_MAJOR}" + + local libdir=$(get_libdir) + + # https://github.com/llvm/llvm-project/issues/56825 + # also separately bug #863917 + filter-lto + + if use clang; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + # link to compiler-rt + # https://github.com/gentoo/gentoo/pull/21516 + local use_compiler_rt=OFF + [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + + # Respect upstream build type assumptions (bug #910436) where they do: + # -DLIBUNWIND_ENABLE_ASSERTIONS=ON => + # -DCMAKE_BUILD_TYPE=DEBUG => -UNDEBUG + # -DCMAKE_BUILD_TYPE!=debug => -DNDEBUG + # -DLIBUNWIND_ENABLE_ASSERTIONS=OFF => + # -UNDEBUG + # See also https://github.com/llvm/llvm-project/issues/86#issuecomment-1649668826. + use debug || append-cppflags -DNDEBUG + + local mycmakeargs=( + -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DPython3_EXECUTABLE="${PYTHON}" + -DLLVM_ENABLE_RUNTIMES="libunwind" + -DLLVM_LIBDIR_SUFFIX=${libdir#lib} + -DLLVM_INCLUDE_TESTS=OFF + -DLIBUNWIND_ENABLE_ASSERTIONS=$(usex debug) + -DLIBUNWIND_ENABLE_STATIC=$(usex static-libs) + -DLIBUNWIND_INCLUDE_TESTS=$(usex test) + -DLIBUNWIND_INSTALL_HEADERS=ON + + # support non-native unwinding; given it's small enough, + # enable it unconditionally + -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON + + # avoid dependency on libgcc_s if compiler-rt is used + -DLIBUNWIND_USE_COMPILER_RT=${use_compiler_rt} + ) + if use test; then + mycmakeargs+=( + -DLLVM_ENABLE_RUNTIMES="libunwind;libcxxabi;libcxx" + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx" + + -DLIBCXXABI_LIBDIR_SUFFIX= + -DLIBCXXABI_ENABLE_SHARED=OFF + -DLIBCXXABI_ENABLE_STATIC=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=ON + -DLIBCXXABI_INCLUDE_TESTS=OFF + + -DLIBCXX_LIBDIR_SUFFIX= + -DLIBCXX_ENABLE_SHARED=OFF + -DLIBCXX_ENABLE_STATIC=ON + -DLIBCXX_CXX_ABI=libcxxabi + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF + -DLIBCXX_HAS_MUSL_LIBC=$(usex elibc_musl) + -DLIBCXX_HAS_GCC_S_LIB=OFF + -DLIBCXX_INCLUDE_TESTS=OFF + -DLIBCXX_INCLUDE_BENCHMARKS=OFF + ) + fi + + cmake_src_configure +} + +multilib_src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-unwind +} + +multilib_src_install() { + DESTDIR=${D} cmake_build install-unwind +} diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest index 45a71f73396a..b00e08f420b4 100644 --- a/sys-libs/pkgcraft/Manifest +++ b/sys-libs/pkgcraft/Manifest @@ -1,4 +1,6 @@ DIST pkgcraft-c-0.0.14.tar.xz 29920400 BLAKE2B dc163e0fb9bcdfb283346cc2bc2dfec9111d4d70c0bbd7b37b9306cd1bcf1d262e99b8126db71608f16807224ca6a357a7449d7076ab57b225745c7bb69c6080 SHA512 9d47788b60a00f5d006787fa38606f12a738a86e587cff0df5671a959d1e970860f31546117f44187f17c0fa8b52e6ac8ad6ec2a767abcc985e470d5a5f9f4a5 +DIST pkgcraft-c-0.0.15.tar.xz 22494284 BLAKE2B a1cccec51f0684282e5e962fc2c50a7a1ddb459dac0fb6c8d611aa4d51abc5a2394a5f3a43ad9599ae841b00678713559f1aeb7bc282309aa222d1024a50d67d SHA512 5e2c79c43f9e9113fc46b1c5cb9a78a70718eb9fd2ac9ba03d1586d6273649429b5f36ee5e832b58889914491ff9369803e509d5ba7c820a7e006df70cacf8e9 EBUILD pkgcraft-0.0.14.ebuild 1990 BLAKE2B 80c23006c2a0138ca870fe094aee7f4420b24638b3e14ed97ebc37a0eef8f5b59a8bb0f8978073db97e344573aa1f0f8fc00ca95e69c5b62240ac8c7297cf2b1 SHA512 7f1ecf8cf0b821abd1ee344119da3755055b310381ecd7c4246b90ff773ca42685242ecf92b74c4a5604389fce8b437be7b6ad29bfb2965d860cc02529dea1c0 -EBUILD pkgcraft-9999.ebuild 1990 BLAKE2B 19e77c59f987a1284b08cd338ff411cef4908e43f57c70e202a547ac71da0d46aefb63a9dd357c22871aee5e80752d7df1d399aacd91cd788ccfbf01c0a31be0 SHA512 591918fb27aeec5db596fc2d91e125c7ebcfd8e3e0540ccc7551590567d33630c4917a96b2a750c719ba5679738a3f6a1d26facfad6b6751e4ef2f23f9cc3bdd +EBUILD pkgcraft-0.0.15.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e +EBUILD pkgcraft-9999.ebuild 1990 BLAKE2B 5f23fe835aedf762e30aff6cb9b0d1414c0bc5eeca0ab668aac353d8428fa4f9365cd5989495b61d5e243db21140a73a6d77229b34e26a2df127b3a8db4bdaed SHA512 b68c3b3ec02e5da9cfe899a206150350188a4cfa52d1f77bfb47e17314c9763f8cafd637786cc41c0cdc6aa3f197e9770a0d024ff3c002ba8bc0d1fd7b90719e MISC metadata.xml 322 BLAKE2B b0ee0fc53eb8b4b485f74806a78b5560aaf53f1772d7bd3e5af4e03385b3f3aed18fc52462c2d49de6c0d735db0cae3fab175b8adc0e5f7c4baa89e28973776f SHA512 9343cd5028750182fe9325c44f4c4c7df0976b79e0422b66e0fd16f94be76eaa203e8ecad5ec2cbed3535f455f038e51968850ced9afb27af9a98b6b968df88a diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild new file mode 100644 index 000000000000..a964805ae71c --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang + >=virtual/rust-1.76 +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-9999.ebuild b/sys-libs/pkgcraft/pkgcraft-9999.ebuild index 575e7c74f56c..a964805ae71c 100644 --- a/sys-libs/pkgcraft/pkgcraft-9999.ebuild +++ b/sys-libs/pkgcraft/pkgcraft-9999.ebuild @@ -35,7 +35,7 @@ RESTRICT="!test? ( test )" BDEPEND+=" dev-util/cargo-c sys-devel/clang - >=virtual/rust-1.74 + >=virtual/rust-1.76 " QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" |