summaryrefslogtreecommitdiff
path: root/sys-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-08 02:07:29 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-08 02:07:29 +0000
commit494168b06b81a32b889c3cb1f721f925d0a6824f (patch)
tree0ec763ffa61af808a83f365fb6680258d2e28a50 /sys-libs
parent2198f8593ae0312add1bdccb49edfcb935e5f8a6 (diff)
gentoo auto-resync : 08:12:2024 - 02:07:28
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/Manifest.gzbin14561 -> 14741 bytes
-rw-r--r--sys-libs/compiler-rt-sanitizers/Manifest2
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241207.ebuild222
-rw-r--r--sys-libs/compiler-rt/Manifest2
-rw-r--r--sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241207.ebuild175
-rw-r--r--sys-libs/libcxx/Manifest2
-rw-r--r--sys-libs/libcxx/libcxx-20.0.0_pre20241207.ebuild208
-rw-r--r--sys-libs/libcxxabi/Manifest2
-rw-r--r--sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241207.ebuild109
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-20.0.0_pre20241207.ebuild88
-rw-r--r--sys-libs/llvm-libunwind/Manifest2
-rw-r--r--sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241207.ebuild128
-rw-r--r--sys-libs/llvm-offload/Manifest4
-rw-r--r--sys-libs/llvm-offload/llvm-offload-20.0.0.9999.ebuild147
-rw-r--r--sys-libs/llvm-offload/llvm-offload-20.0.0_pre20241207.ebuild152
-rw-r--r--sys-libs/llvm-offload/metadata.xml13
-rw-r--r--sys-libs/ncurses/Manifest2
-rw-r--r--sys-libs/ncurses/ncurses-6.5_p20240615.ebuild435
-rw-r--r--sys-libs/newlib/Manifest5
-rw-r--r--sys-libs/newlib/newlib-4.1.0-r2.ebuild154
-rw-r--r--sys-libs/newlib/newlib-4.2.0.20211231-r1.ebuild154
-rw-r--r--sys-libs/newlib/newlib-4.3.0.20230120-r1.ebuild153
-rw-r--r--sys-libs/pkgcraft/Manifest4
-rw-r--r--sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild92
-rw-r--r--sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild93
26 files changed, 1258 insertions, 1092 deletions
diff --git a/sys-libs/Manifest.gz b/sys-libs/Manifest.gz
index c293e1e00d28..66db06436f48 100644
--- a/sys-libs/Manifest.gz
+++ b/sys-libs/Manifest.gz
Binary files differ
diff --git a/sys-libs/compiler-rt-sanitizers/Manifest b/sys-libs/compiler-rt-sanitizers/Manifest
index f79057d6c019..d01939ce00e0 100644
--- a/sys-libs/compiler-rt-sanitizers/Manifest
+++ b/sys-libs/compiler-rt-sanitizers/Manifest
@@ -15,6 +15,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD compiler-rt-sanitizers-15.0.7-r1.ebuild 6668 BLAKE2B aeaf6893fc56ddaf06f0b2c2d0d9a0aa465b3ccdd19cfad213d7375be9678d9e17865fa0fbb1f007492f373e231b31c7174b32a4e324c8ec8d4a207cade24fbf SHA512 8b4847e70d11ec8cee9682866940589f862fc07efd165a9a964d32648f5db3d2795b31a914f204ce568903870c555a60dbb3277aa504e92f432468db33aba00f
EBUILD compiler-rt-sanitizers-16.0.6-r1.ebuild 6655 BLAKE2B db5371e8891181bc3652688c2bceabc28ab5bdaec5afc80415f57b7ebe13875a84a15bc309a4d1c7e5a66c9a51a79d4c6a24a140eca5f7a1c91333e15003d430 SHA512 2053df1e8c059535bb8fc3c766fbf7bce440cf508f6f22dd78e73048af629d51e7f04a0c667632a2b9f672c2b9ebe8f72de3c5886200c36bcbb7adcd16ae5d13
@@ -25,4 +26,5 @@ EBUILD compiler-rt-sanitizers-19.1.4.ebuild 6474 BLAKE2B 6242f59f11589223b494cc1
EBUILD compiler-rt-sanitizers-19.1.5.ebuild 6479 BLAKE2B db6bd87ee4cb4be87537152c8041fb0e6bd69100e6fa4242e231c98ec1222834dd87a7b0350b42bddc6d50597919169f44d136b7a3f609407cf752f9a5ee6cff SHA512 3a992ea97ce2028d99a94adc291bf6c084af6ccb103dab7dbba43568e1283b7c4c6dfc03385b931c185eed2fc4c37563edaeff76ed3e8528c92293030121ac7e
EBUILD compiler-rt-sanitizers-20.0.0.9999.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
EBUILD compiler-rt-sanitizers-20.0.0_pre20241130.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
+EBUILD compiler-rt-sanitizers-20.0.0_pre20241207.ebuild 6394 BLAKE2B 458582b435bbd97d6fc776b1dcf653af9d41e53b0540803a3528db993eddf33284a11ec72ba7bdd2e54bbe4cf7c51e340e04970f9dc3f1f8a08edb9e5c98b9db SHA512 7f2432f6ffe217d3dcaf2185c5b08321674f1b9e5da46a2abdebebb68bccc761f0a713aa85741d9a32c29e1b54f1b12f93110146e533742265d0bb182a45501f
MISC metadata.xml 1599 BLAKE2B 2db46fca9bbf85a6cdb70d9bc99a8e1bdc60c065b3e5f44ce31fb6cc08cc6da9037eb3155b1e73975b5e1bbb448be6b2164413f2234e89a4bc191c4562dd9342 SHA512 10bb564b181a9ce38680a05f854e58a3a726b052200d735c3959a0a42af97a47e0a5df60fbec374c7265e0eac16e1247ed0862aeab138b9dc035db8da52fb4ce
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241207.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..59a64398c9bc
--- /dev/null
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-20.0.0_pre20241207.ebuild
@@ -0,0 +1,222 @@
+# 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 nsan rtsan
+)
+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:${LLVM_MAJOR}
+ sys-libs/compiler-rt:${LLVM_MAJOR}
+ )
+ elibc_glibc? ( net-libs/libtirpc )
+ 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_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 adb348bdde13..d3bcdddeba03 100644
--- a/sys-libs/compiler-rt/Manifest
+++ b/sys-libs/compiler-rt/Manifest
@@ -13,6 +13,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD compiler-rt-15.0.7-r1.ebuild 4252 BLAKE2B 7270c3ae2a4a30b79774cd38041ee5e4381a0393be7768d56c2a59000a509e2b48336467d34ee09f8d82afbe9f453f79ddc17a2708746f89d2227b66cbfc6b01 SHA512 836e4cc58522c48d6fc40ca27efd68d18cca9914ce1810ab0b6d307bfa163b9d8b883729b917fb5ff129985ec86e5ba655587c3f93980f73e762e2bfd4ca2ab4
EBUILD compiler-rt-15.0.7-r2.ebuild 4380 BLAKE2B efee8f45c42790e54595f7423c6c18c33c769f83d3150ffab68328aac1ba90cbb1b59c046e11545cb685dacec8ab9d30b0eb48a1a4791cf53940fc5ca9891d20 SHA512 6d4ab7e49822b975056a8554f2cba98b6ff794dbbb82ec67a30e761ee2e32427223d7afd27f42b17c4a62c8a44d4db3c92b662ed09d7c73a38fb150479d7cca9
@@ -26,4 +27,5 @@ EBUILD compiler-rt-19.1.4.ebuild 5204 BLAKE2B d589324b86c735d3b4ab8a654037c8af6b
EBUILD compiler-rt-19.1.5.ebuild 5209 BLAKE2B d69ba529020b23d4a7f00195d2ea7a3010976271a69b4a5229d7fbc944f129480874ec9e8ca3b68f3a938d790c112d2cd2aa77eb560ab821eb3f79dcb028b71b SHA512 92c74ab12577049d145a3f078d72fa59dcda40fde713ff1079dc065c50fd48d29b30dd58052bb2182bc01146485134c694eb332196d415f8967b38de2ad74301
EBUILD compiler-rt-20.0.0.9999.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360
EBUILD compiler-rt-20.0.0_pre20241130.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360
+EBUILD compiler-rt-20.0.0_pre20241207.ebuild 5100 BLAKE2B 8b21c012e5424c96d3957670edfa06a03ed3a5a328b1600c29d471ba12191b319d39e0124d276fbd4ebaef9bea3f1a2133c9fd391f22328a46b008e9c783e5cb SHA512 cd3d927fb0ad5a5f919bcc7143f07e1f32870ab7ff278503c3b73a90f1d685e9b4b657d364ddd9c20f3dd2b03d370bb791f1a5e5f1314e9b592b00df41557360
MISC metadata.xml 610 BLAKE2B 2fd2530da10ecae7d8b54b448d0e0ec082b8082e3b5da8ab47dc79058724b368d5f900b1de18e14fe2c2b95257c69d0aceb9bd83b8b6873f65935302461ac263 SHA512 d50a05439376fa985ab1579a592cc6f544552e177132dc8773f172b827dec49ab3f8bcd77d89c25d4f2a1b99492897045b16a75ceb2d14cc76187140c33ccc45
diff --git a/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241207.ebuild b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..92b6059c1ee7
--- /dev/null
+++ b/sys-libs/compiler-rt/compiler-rt-20.0.0_pre20241207.ebuild
@@ -0,0 +1,175 @@
+# 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 +atomic-builtins +clang +debug test"
+REQUIRED_USE="atomic-builtins? ( clang )"
+RESTRICT="!test? ( test ) !clang? ( test )"
+
+DEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+"
+BDEPEND="
+ clang? ( sys-devel/clang:${LLVM_MAJOR} )
+ 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_TEST_COMPONENTS=( llvm/include/llvm/TargetParser )
+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_EXCLUDE_ATOMIC_BUILTIN=$(usex !atomic-builtins)
+ -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 f0b1c87a04ea..78d32759bdf3 100644
--- a/sys-libs/libcxx/Manifest
+++ b/sys-libs/libcxx/Manifest
@@ -12,6 +12,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD libcxx-15.0.7-r1.ebuild 5283 BLAKE2B 4380fc5b851054a5ec226ee4c92a2b79511d73ac9b3f8bccc977211601eca36113fc0ae605854da53898507021f24a8b319197605c556244d84253bede7b84f4 SHA512 0a5859269422e794deb43ed960651a1dea830af28b5e395f32e28de8e67a1f399507340230af1c84248853f554e751709a60a9a78aeb0eb42804cb41907dbfce
EBUILD libcxx-16.0.6.ebuild 5300 BLAKE2B 4714e22ad2fdcb07c62ead4cfa47fb4734e45dc055700b63a0f24cd6e93dde960c638fa16f55f4c04c6130fc2a7fa5729814c4aee12e9953f603ea5ccb706cc1 SHA512 3eab779107b5c737d971abe29b7bd9f44a73570957bd7d54d6aaa98ec78a6045d7d69272d611f7f09c60e1aa30bbad46b4bd1358b0b2c69e5bc686ab21444857
@@ -21,4 +22,5 @@ EBUILD libcxx-19.1.4.ebuild 5176 BLAKE2B 455425f6d90f9b5b4d4331606428908fd823885
EBUILD libcxx-19.1.5.ebuild 5181 BLAKE2B dbad2e4443d758b1b2570dd2e5bf448f6fc4d8e633e2a21e5f26485203eb6da0e72a81abf870ef95c7903632b56af75fa0bb46220ee3651685144a4bdea46f61 SHA512 316a9684216860346b6a7486145993d25ed3daf9cc01929dba45a19818da4c92c8da88cf0230cf5196be99b04bd8471a14ae69b5ac722175dd0f7fdf5919bc75
EBUILD libcxx-20.0.0.9999.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
EBUILD libcxx-20.0.0_pre20241130.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
+EBUILD libcxx-20.0.0_pre20241207.ebuild 5358 BLAKE2B f1653197106b3f12fa21ca3e82968e2a4b1d5376bf0c7a72ffafe28623919c85de6180de6d2bb75092de2101ddd98c07cfa1866fda15c50832802e1a712a3f60 SHA512 501844ea65ad7200b74c412e5b9298559a78859f25f01a6b963a336db5f4be4790e079f861ab749f5b87241da014958bf166695b7aa03a6e84a7bc598dd455c2
MISC metadata.xml 598 BLAKE2B b7a60449e0d8e4e7605ec203dfaa45b17a265b024e21a3bcfe05a3aeb6c3d19a1d2a218cb1f9ac9ed52296f0d6e723fed251f364341fb70cbd91b747962db580 SHA512 a23f912efff52c4687767023da826ace8c6e5dcd5e69ece86aabbea99da89e48ba81cdc292f03193e2e8a05743e62ebf4d4735d038e0cc4b42714fa277569335
diff --git a/sys-libs/libcxx/libcxx-20.0.0_pre20241207.ebuild b/sys-libs/libcxx/libcxx-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..73b362d082dd
--- /dev/null
+++ b/sys-libs/libcxx/libcxx-20.0.0_pre20241207.ebuild
@@ -0,0 +1,208 @@
+# 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} libc 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 install-cxx-test-suite-prefix
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_shared.so || die
+ if use static-libs; then
+ cp "${BUILD_DIR}"/{lib,libcxx/test-suite-install/$(get_libdir)}/libc++_static.a || die
+ fi
+ 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 9a8aad64e1cb..a8fdb57868de 100644
--- a/sys-libs/libcxxabi/Manifest
+++ b/sys-libs/libcxxabi/Manifest
@@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD libcxxabi-15.0.7.ebuild 2911 BLAKE2B 5f2004d2f68fe4eddb0b22be82d28fcca7954d0e3ad9a5510744adc4d0dfd7a1ab9fd928404adcd3eeecc58703f51117d0a80e5895b53e0ae7b71621ad5a435c SHA512 5b8e2c6abdec785649aa41b7f05ab86ecab30ff0631d6078c9b1052b406c320c5847b8f16ffa6d9e62ba4a6bca5959b18770810924d6e6da264fb08d6ff738d0
EBUILD libcxxabi-16.0.6.ebuild 2932 BLAKE2B 837ab88ee88d5497b8bddb9f001d4b4ddd44ed982ef47114c965174135ed136abd0e3a6f3848a4aba53d0ca3748c54674cb28de8d46fda3bb7a90f326d41c7c6 SHA512 e4ebf7f35d2cad3bf3ba02754c85fee1cd1c4e52887770698ebaa3ef2fe66873f468677d307ea2d6956c2f6d3ac9b61943461193a5315f1e8a2846f2463b0581
@@ -19,4 +20,5 @@ EBUILD libcxxabi-19.1.4.ebuild 2759 BLAKE2B 8f45a664c7988528c5199ae91ab72baa39df
EBUILD libcxxabi-19.1.5.ebuild 2764 BLAKE2B 279e2dedfd47b02e89b0d34b7ce17ddfcc409340319473901306b761545030bfaa0ab9788b567f6982b1071d37bc4f9790fe38a2817bd9b4f13bd337aa2f8b99 SHA512 10fbb48677a4bd39c196631649eaf307f7adfb5d8512f9abd6c4c0b7984a91113c4e9cf663282de38be7b02e0e8e835bc91300a38ca63f26c73f7fe6fd737de9
EBUILD libcxxabi-20.0.0.9999.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
EBUILD libcxxabi-20.0.0_pre20241130.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
+EBUILD libcxxabi-20.0.0_pre20241207.ebuild 2663 BLAKE2B 51f73901a172d1d38eb2204428cab606794110644be1d95e542da7c80e2f88f12b1dde949f3b000a27677108922413351d7f79547101a22b14595b31f3cb9138 SHA512 3d61d2c559bcdb9d13a8134dd75dfb66b46b51eb8c3c870fa807f0dfc6298ed1582a6a3eeba732d9aac6e974e28bf5fc8efb6825654b11b0fcbb4eeaa4d40492
MISC metadata.xml 438 BLAKE2B 0a830a06a53a6cdaf138ad7620fe366fae05c1c1451267d6a58caf7da5ce8f5a26d302fab53b9460920074ab5a65991d3bd24fde087809e8dc12188dd94c7676 SHA512 d53e13c497569636fb453a159c5ca5ddfabf8e5debd5f92e5149c52d54c876753842ab73293d6d08e2d9b279363b4f0c743eed3a5027a61246c6b60496be8e87
diff --git a/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241207.ebuild b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..13b5d3b6c275
--- /dev/null
+++ b/sys-libs/libcxxabi/libcxxabi-20.0.0_pre20241207.ebuild
@@ -0,0 +1,109 @@
+# 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=( libc 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_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 972f696afd9b..1f0ecd13db1b 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -11,6 +11,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD libomp-15.0.7-r6.ebuild 3470 BLAKE2B 9f76ca5b080ccf01617d7dcbfe3eb424c525adbcf72f2b5f09dc7bead1e28df1a0ffdf5ef47bcc7f8cac130f1d22e804e29938cda6df0ee58359ac5ff88aea86 SHA512 1a0a4b10f9a67634ea265e6df3c3f9993ed5ee3818eba2cbb6b65d8f5c3a0d2d266134f3e276985e87eca18b47a44d6de61e4c9c3496fd36c6c338dcf79b9850
EBUILD libomp-16.0.6.ebuild 3984 BLAKE2B 8302d2776c0d8c50dcc7cac2dde8523f1abdf391d48594fdd26ebe17a089efdfee93825bdec07569878d06873b571e469411f108564df6c7eb50dc425615c255 SHA512 714da170fba4b62f3267e2530a82c583d299e8dc6c6f4037417c216c1239cc0fadc1aebf823608df37a932a7722144e67a148b58079e50560450b94c93f3e415
@@ -20,4 +21,5 @@ EBUILD libomp-19.1.4.ebuild 2243 BLAKE2B 50121968463834767de14f7143e2bb45a3f9688
EBUILD libomp-19.1.5.ebuild 2248 BLAKE2B 8493ef91a33d9415c1ae604e8d65a972964b8a4d4adc5dbecf884a30a2a5aa216955fb15ade6d260e2573dcf265c845a1ed95ad7ef850342007e97e345c78558 SHA512 fb53d47a8a75cb06d4915ea00186dffc01ba718d021945df3f9f8cc106c2ecbc9278b1fdc8d037ce562a3b0b1bdc58dc266b90d671b2d427de2761b02661a96d
EBUILD libomp-20.0.0.9999.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
EBUILD libomp-20.0.0_pre20241130.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
+EBUILD libomp-20.0.0_pre20241207.ebuild 2163 BLAKE2B 522f4f9099cf7ca69f3bd2d93f1bfa0f80fd1937d8147b0464d3bcb143b161cf5b17b8e2fc80a981188a1962a3dc1396979dd726028f546ccb10b56265405415 SHA512 5ae5744e3addc95f790c15e1d89d3da4080ea0216518ece8097ac21a71432892d920722618ea3589f7bf4f70c505b5be37fa9b8c49683fd2307988b4425e7bea
MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f
diff --git a/sys-libs/libomp/libomp-20.0.0_pre20241207.ebuild b/sys-libs/libomp/libomp-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..32b91b3699c4
--- /dev/null
+++ b/sys-libs/libomp/libomp-20.0.0_pre20241207.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 785e5a5fc8e1..606ad1a34e03 100644
--- a/sys-libs/llvm-libunwind/Manifest
+++ b/sys-libs/llvm-libunwind/Manifest
@@ -10,6 +10,7 @@ DIST llvm-project-19.1.4.src.tar.xz 141255156 BLAKE2B b99cd8a96e38dbcfb582ee5d22
DIST llvm-project-19.1.4.src.tar.xz.sig 438 BLAKE2B b0925bdb761046d69779e0b035e29430bc09ef2b81be763aa5c853793631d7b7fdd65eb4dae7a1e3b4daa15d189c24cd1e14f065f79fdbf75429fa34be9b330e SHA512 3fb4a6c7594cb43680860698dac47062dde30de60f515dcecdad63812ea1edfb2cb209d0a7ac2254589c245a95b7c0f571b582e0d4b97a6ae8242563483ea764
DIST llvm-project-19.1.5.src.tar.xz 141243716 BLAKE2B 228fc66ab688abfc16f31b2cd83163b81ef61604ace21eab69a1776f0dc88cbe8fa831162205849e5be3975a214136399572b4ad1b908986e37b2d38a1a7fa5d SHA512 648854e9c91fdcc5c677ce3800e046f2060b998a45cf9f7eebe02898431b3924f9348b6fc366102cd4fdda72dcb8f32076f98aa69927e0e20b3f1007fba10b22
DIST llvm-project-19.1.5.src.tar.xz.sig 438 BLAKE2B 1d40a5c5405f99ef86e3360f9ea153afd1ae4001697210fd799a988113e8a3cef39e2c4794edd9332f384d8490f4ce2ab6bee6d98f794f84775807f833b81c0a SHA512 a438c86ce882eb1ac3e50842937068794ed162bb1b7ded68a2fe3ec2ab4f57cc38aee667cfb46afe6da22eef7ed1cb65820a473f63bd5a0dc6aad41df7bfad54
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
DIST llvm-project-a348f223cab54b21a7b1c38dec7bc6aa2f81c949.tar.gz 223630067 BLAKE2B 3c2121a8d13e3a84a9ee98d17c58e5fd5a31d5870ac21c633c78c49b4af0c401310f7e91f64ff3b7cf7f6e8d205c730458b8b1101b1255f422659974d48e2ecb SHA512 33cc09a904e4fe0d529611a1d71d764e6d49f014cea903aadc0755d0420f65cfc763fdcfd4bb9a96adad79ce1c4475d8c005dcac37c4fe130a1fb3665172f1db
EBUILD llvm-libunwind-15.0.7.ebuild 3032 BLAKE2B 9b47e894db1a764f3eca3135f4caba68261953f4433af017b7bb53181e345ad26c570733f997022c53c9ef49a0a3b823188d92cfcc16a2113825d767b1ffab2a SHA512 0b68480fb2a8e5a351574e81fbcff824cd324754ed40378f06fec12fedbba94a921043d72db6ecc37f8b0680b7f518bbbd8d63f69ce8d84f86ca522653d293fb
EBUILD llvm-libunwind-16.0.6-r1.ebuild 3440 BLAKE2B eafe21a3de172043ca0039ba27c80c64d32b02cc86bdb5a6d108ded35770e0352216337cbf24ee4fde43b699a68a85c8145be2d17510d525452bfd5a02674998 SHA512 164fdc1c62405e02c035af7997b8522b51f5b9337d2bb66d7fc9b1f45df74ec70d31b26dc5324c59792d32c543fe18abf74ed3b07a64c131e3c1bb4f9f733c5d
@@ -19,4 +20,5 @@ EBUILD llvm-libunwind-19.1.4.ebuild 3407 BLAKE2B 6cd9f1a7dbbe1dbdb7d64c139c15db1
EBUILD llvm-libunwind-19.1.5.ebuild 3413 BLAKE2B 7f510e3b4b415a4178c5783a5252adf00ee264ec8173d459f1ee7df65dcb3c0c9bc8712384d2e4c9a5451a13c7868bef011d990158e4875f5ed8f343866bd228 SHA512 84de24446bb5b2239ef96155327e2c9b35a1a3d1c93c7acb5aaf046299dd8ebab6c89b9b2c6d36bd6adb6265492521c3a6f395f4fdecb37ea4b022e6a840f56f
EBUILD llvm-libunwind-20.0.0.9999.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
EBUILD llvm-libunwind-20.0.0_pre20241130.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
+EBUILD llvm-libunwind-20.0.0_pre20241207.ebuild 3321 BLAKE2B 11e3226e8d8fd4781f2c3b9b4a40068a57fba8b0797726c88f592e69147a99bbfc78d98449daccfd0d30fd378ba8ced48d6dcd4df938fb7604d02dcee3f18f3e SHA512 9c815395dcb606b62f192c978185d88978c4f280a71c69611a1d106dcec1758b901cfd74652e2b4e4adcb944bec318de8f2aa8d32aaea3d471b43870dbf2d562
MISC metadata.xml 438 BLAKE2B 2a36fbbc59e137056029c62aef6d167d9c82531c2582d7bad5cb13cc36e5c4c9518ffe8c56d06bbcfd97ad22eda71a8b776f3984195f53d06cf45659b438dc00 SHA512 4f18b054072d00e5440faa31a59f9ef587d035b5f25e30913f0b1449debee967fa794fae2548e87db3fb2177ce853ab075e1f11f3cc763f5d7fdf06147108845
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241207.ebuild b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..f2972aaec14a
--- /dev/null
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-20.0.0_pre20241207.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=( libc 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/llvm-offload/Manifest b/sys-libs/llvm-offload/Manifest
new file mode 100644
index 000000000000..22bb3cc3c92c
--- /dev/null
+++ b/sys-libs/llvm-offload/Manifest
@@ -0,0 +1,4 @@
+DIST llvm-project-32f7f0010bca99ee4bd917f57272733fb2bf3bd9.tar.gz 223983502 BLAKE2B fd3e6b0b795abc42568ef98fa774d927029c18838a5d0f34eaa66c37976444a63f2fc5d883f3bf3a98533f51e387936f1c659230f31c757d26153425696a16cd SHA512 65a345ad5b77c627008f759947e5e9f28a62c8992d7146113e0446e5849feaf9088c15c8b22ca0824af5b927d6a417f5326258b489fb8ccea78ec9e0e0fe8fba
+EBUILD llvm-offload-20.0.0.9999.ebuild 3740 BLAKE2B a322833d1dabd50b7f8883ffad5fad760365de982d9442b6a0b3076c8f12596e3a45c058db14907f1bc6ffff7b2c630f5fc91168f064386e58a5aa2881e65ba6 SHA512 291226ca6c6ffb1e83525e6cef8a41e08925f6404366e4981eaf3bbac43b8c7bc7d41a0bddbe0387bf013f62c4c0b0de391e46ba63ed73b2a79ffc50747c12f3
+EBUILD llvm-offload-20.0.0_pre20241207.ebuild 4093 BLAKE2B bb2cbe1363a77de377fab7fcdd4ec55c0b9288303d7c7753791a9966990b2d14b832c9b9d6a42b35ab3f9905fe2ce836c1e3edefe28d81693c6103da37ac1020 SHA512 137a7adec3a0a01991fc06cfcc1833c77742e31a08fa69ab1f877429374031b0280673a45f6bebe314f6bd93fe651bf4b464372fe8b4fa771317801602826ffd
+MISC metadata.xml 379 BLAKE2B 2b4c75d4ec6e126d887b736ea978c4b34683a347252f408c9d1f5f55c6c1bead7b7f9533812806f816538d8abaa00ded4d439dbe626d3f2cf09b78a3674e41bd SHA512 d49054d4b5a1a051d83f1ef397a7925fb36ee3092668d134e6ed5c1218bf5d67a43145b689709677643da070a783ec9f8705b37f15587475829fe185634af1d4
diff --git a/sys-libs/llvm-offload/llvm-offload-20.0.0.9999.ebuild b/sys-libs/llvm-offload/llvm-offload-20.0.0.9999.ebuild
new file mode 100644
index 000000000000..1e9ec4ce3ce4
--- /dev/null
+++ b/sys-libs/llvm-offload/llvm-offload-20.0.0.9999.ebuild
@@ -0,0 +1,147 @@
+# 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 flag-o-matic llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="OpenMP offloading support"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libffi:=
+ ~sys-devel/llvm-${PV}
+ ~sys-libs/libomp-${PV}[ompt?]
+ llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+# 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
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ llvm_targets_AMDGPU? ( sys-devel/clang )
+ llvm_targets_NVPTX? ( sys-devel/clang )
+ test? (
+ $(python_gen_any_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ sys-devel/clang
+ )
+"
+# TODO: can it be fixed to compile with gcc?
+BDEPEND+="
+ sys-devel/clang
+"
+
+LLVM_COMPONENTS=( offload cmake runtimes/cmake libc/shared )
+LLVM_TEST_COMPONENTS=( openmp/cmake )
+llvm.org_set_globals
+
+pkg_pretend() {
+ if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then
+ ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your"
+ ewarn "GPU if it is supported. Note that these tests may be flaky, fail or"
+ ewarn "hang, or even cause your GPU to crash (requiring a reboot)."
+ fi
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ # TODO
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ local plugins="host"
+ local gpus=
+ local build_devicertl=FALSE
+
+ if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ if use llvm_targets_AMDGPU; then
+ plugins+=";amdgpu"
+ build_devicertl=TRUE
+ gpus+="amdgpu"
+ fi
+ if use llvm_targets_NVPTX; then
+ plugins+=";cuda"
+ build_devicertl=TRUE
+ gpus+="nvptx"
+ fi
+ [[ ${gpus} == amdgpunvptx ]] && gpus=all
+ fi
+
+ local mycmakeargs=(
+ -DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}"
+ -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
+ -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
+ -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="${build_devicertl}"
+
+ # this breaks building static target libs
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ )
+
+ [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=(
+ # prevent trying to access the GPU
+ -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
+ -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND
+ )
+ [[ -n ${gpus} ]] && mycmakeargs+=(
+ -DLIBOMPTARGET_DEVICE_ARCHITECTURES="${gpus}"
+ )
+ 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
+
+ if [[ -z ${gpus} ]]; then
+ # clang requires libomptarget.devicertl.a, but it can be empty
+ > "${BUILD_DIR}"/libomptarget.devicertl.a || die
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-offload
+}
+
+src_install() {
+ cmake_src_install
+
+ if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]]
+ then
+ dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a
+ fi
+}
diff --git a/sys-libs/llvm-offload/llvm-offload-20.0.0_pre20241207.ebuild b/sys-libs/llvm-offload/llvm-offload-20.0.0_pre20241207.ebuild
new file mode 100644
index 000000000000..adee1702c49a
--- /dev/null
+++ b/sys-libs/llvm-offload/llvm-offload-20.0.0_pre20241207.ebuild
@@ -0,0 +1,152 @@
+# 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 flag-o-matic llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="OpenMP offloading support"
+HOMEPAGE="https://openmp.llvm.org"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
+SLOT="0/${LLVM_SOABI}"
+IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libffi:=
+ ~sys-devel/llvm-${PV}
+ ~sys-libs/libomp-${PV}[ompt?]
+ llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+# 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
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ llvm_targets_AMDGPU? ( sys-devel/clang )
+ llvm_targets_NVPTX? ( sys-devel/clang )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/lit[${PYTHON_USEDEP}]
+ ')
+ sys-devel/clang
+ )
+"
+# TODO: can it be fixed to compile with gcc?
+BDEPEND+="
+ sys-devel/clang
+"
+
+LLVM_COMPONENTS=( offload cmake runtimes/cmake libc/shared )
+LLVM_TEST_COMPONENTS=( openmp/cmake )
+llvm.org_set_globals
+
+pkg_pretend() {
+ if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then
+ ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your"
+ ewarn "GPU if it is supported. Note that these tests may be flaky, fail or"
+ ewarn "hang, or even cause your GPU to crash (requiring a reboot)."
+ fi
+}
+
+pkg_setup() {
+ if use test; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_configure() {
+ # TODO
+ local -x CC=${CHOST}-clang
+ local -x CXX=${CHOST}-clang++
+ strip-unsupported-flags
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ local libdir="$(get_libdir)"
+ local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ local plugins="host"
+ local gpus=
+ local build_devicertl=FALSE
+
+ if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
+ if use llvm_targets_AMDGPU; then
+ plugins+=";amdgpu"
+ build_devicertl=TRUE
+ gpus+=";gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906"
+ gpus+=";gfx908;gfx90a;gfx90c;gfx940;gfx941;gfx942;gfx950"
+ gpus+=";gfx1010;gfx1012;gfx1030;gfx1031;gfx1032;gfx1033"
+ gpus+=";gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102"
+ gpus+=";gfx1103;gfx1150;gfx1151;gfx1152;gfx1153"
+ fi
+ if use llvm_targets_NVPTX; then
+ plugins+=";cuda"
+ build_devicertl=TRUE
+ gpus+=";sm_35;sm_37;sm_50;sm_52;sm_53;sm_60;sm_61;sm_62"
+ gpus+=";sm_70;sm_72;sm_75;sm_80;sm_86;sm_87;sm_89;sm_90"
+ fi
+ fi
+
+ local mycmakeargs=(
+ -DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}"
+ -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
+ -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
+ -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="${build_devicertl}"
+
+ # this breaks building static target libs
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ )
+
+ [[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=(
+ # prevent trying to access the GPU
+ -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
+ -DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND
+ )
+ [[ -n ${gpus} ]] && mycmakeargs+=(
+ -DLIBOMPTARGET_DEVICE_ARCHITECTURES="${gpus}"
+ )
+ 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
+
+ if [[ -z ${gpus} ]]; then
+ # clang requires libomptarget.devicertl.a, but it can be empty
+ > "${BUILD_DIR}"/libomptarget.devicertl.a || die
+ fi
+}
+
+src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+
+ cmake_build check-offload
+}
+
+src_install() {
+ cmake_src_install
+
+ if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]]
+ then
+ dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a
+ fi
+}
diff --git a/sys-libs/llvm-offload/metadata.xml b/sys-libs/llvm-offload/metadata.xml
new file mode 100644
index 000000000000..d13785bbe1b6
--- /dev/null
+++ b/sys-libs/llvm-offload/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>llvm@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="ompt">Enable OpenMP Tools Interface support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">llvm/llvm-project</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-libs/ncurses/Manifest b/sys-libs/ncurses/Manifest
index c64b5a53d9f5..eb58cefbb8df 100644
--- a/sys-libs/ncurses/Manifest
+++ b/sys-libs/ncurses/Manifest
@@ -195,10 +195,8 @@ DIST ncurses-6.5-20241109.patch.gz 121789 BLAKE2B 3626c3fb1332d12558e53545bb0aec
DIST ncurses-6.5-20241109.patch.gz.asc 729 BLAKE2B af2c1bd38031bff8e5465340fbd5dbff875939ff62fa4e805d2fdd869a15a25e135aaaca98510ddb308e532f3b58209b4ad0d8e75bc792149972470809a42df4 SHA512 8946e1e84baf9c48129460a83a5ef679b427c0147ca7fd4701aca3fa23b260c8ed8fb08fd2996676f149ffeec4ca960358d7df6a0b7774c4b49b2bb66800237f
DIST ncurses-6.5.tar.gz 3688489 BLAKE2B d0a05c218b5f320ba9abe2f322787baef1d15d764e503c81d49772b54b2927d28ecbeb500c8e514996226b41f69445b4de44ff423cec25b61847307fe61682ec SHA512 fc5a13409d2a530a1325776dcce3a99127ddc2c03999cfeb0065d0eee2d68456274fb1c7b3cc99c1937bc657d0e7fca97016e147f93c7821b5a4a6837db821e8
DIST ncurses-6.5.tar.gz.sig 438 BLAKE2B 5789b47932ec97d3863c7a65306369f0a36cb5b1a35c1e009b5174f50941edceafc22e6f07db3843a096773663a0ca602c0ecb9465e6042d9a78d76ae5008215 SHA512 96ce61a3d529e48e249acecbf4bb9eae2d9f2f67506e92ffa3182f5e98040c38babf0c2c15d92fc5d96e1181e72be1b29fdbff7bee859dfe2ae387f9b8883092
-DIST ncurses-6.5_p20240615-patches.tar.xz 63232 BLAKE2B c7fdc496bb3b055b6766ea8a8b5edaba08cecbe9dfe1b3035e55067bce958eb2bf235f226058e30712f14bf6401112901c3add42093216e3b6b42b4ffd438f67 SHA512 a4d9d09c6110a2971bed0facab87c7e255b4c3e34bfa3b8faddd86af9c95fea89833cd14286fd690db138ca60c0fcff818f11d30a6aa820136899619a4e7f95a
DIST ncurses-6.5_p20241109-patches.tar.xz 63676 BLAKE2B 9981b740fcec18cc794074ccc93ae1dbe175e52449af2bddfd10a6fb1d5dfe9b545bd19fce5e601d2d85008425fd5cd6fc33042d7bcc854363b0642b9c880efe SHA512 076d2d39c46cf9236e5e65472e10182da2dffffa936c7567b11e23323d64f9739bb3818d4fdbdd75a14fd3f5b202dcdb7aaa6813afb5e303f81c094339824162
EBUILD ncurses-6.4_p20240414.ebuild 14355 BLAKE2B 33f762811b54142db6ad02789e40a896da5a7163003898c20d49c64c551db4ee1ef7b000204482fc87019f6e489d9e86a3512a44012420633d735a900e63d778 SHA512 06d21b4b82708370f03ce972952d22625c87fe32de189366b4bb090027a8f1a58f3c961628abb85a0a559a1081b5f8a5253248248547ee559c4d92bd252f5864
EBUILD ncurses-6.5-r1.ebuild 13875 BLAKE2B 6149ec2accc814e80c829f738b1471b21b476edfa13e20fa1ba6f016cf9a78874b9cf1ee1177f23212a91d9b4e5d3420caa052b0848bc311fc15c73dfa8af3bd SHA512 d817b26b8eca20a13f61a3172923c6a36e9259eed0c6466b16a929832854d4aa1618623ffd5469bfe9550f95ff789635c4294f927bf469f16abd5865cc7ba230
-EBUILD ncurses-6.5_p20240615.ebuild 13941 BLAKE2B e22a5ed76cb87c4c60a1ae7b73bca25bbea53c6d91d90e174d80855015f0df6e61bec5491b8aa22e86b6aa5d769ba14d994c78bf13fa43fc4895808e87a885dd SHA512 a1e18805537910e701354670e81059d6f27f6b5acf795eba9a57d1aa41a5714f7e09df28ecf8cc0cf951b231b25a7a0cec2f9f64796f7f84d993369b74054d7e
EBUILD ncurses-6.5_p20241109.ebuild 14160 BLAKE2B 300b888e27775243a3d0e5200b4dcecdfa05bd5d9d4fb279e057f5ce2eccf2163dbe1aca4564b59d74b260d72a444eb0e95d4dea76e1e842ea21f7a5ad38ae87 SHA512 fbba8a15f2478805ad73eee8894b5f0e45bd69e29eaf4b4d0887d6d1c648ea28196baed13562999add60b0269ee47d2de6ffd6a85a2b5c7047040796830e8b24
MISC metadata.xml 1094 BLAKE2B a65bbb9584f77fb07fff735e6471ef48a5d63e7fa79112bf75df67f2f94e816706165fdd42a482708a7fd2ab3b3e308f9766eac0b39c3a4e31dcff5b3db25d57 SHA512 adf0f939a1e14c964bfb44ab80b1b8c1ee897a036a994848ba3e40280ab3a73ddb3beef540c905efd623e71b890c4c91e0b7c24651561d0e2bb2a4c86f039dba
diff --git a/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild b/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild
deleted file mode 100644
index 7057a54fdec3..000000000000
--- a/sys-libs/ncurses/ncurses-6.5_p20240615.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# sys-libs/ncurses-compat can be bumped with sys-libs/ncurses as upstream
-# provide a configure option for the ABI version.
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
-inherit flag-o-matic toolchain-funcs multilib multilib-minimal preserve-libs usr-ldscript verify-sig
-
-MY_PV="${PV:0:3}"
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="Console display library"
-HOMEPAGE="https://www.gnu.org/software/ncurses/ https://invisible-island.net/ncurses/"
-# Keep invisible-mirror.net here as some users reported 403 forbidden with invisible-island.net
-SRC_URI="
- mirror://gnu/ncurses/${MY_P}.tar.gz
- https://invisible-island.net/archives/${PN}/${MY_P}.tar.gz
- https://invisible-mirror.net/archives/${PN}/${MY_P}.tar.gz
- verify-sig? ( mirror://gnu/ncurses/${MY_P}.tar.gz.sig )
-"
-
-GENTOO_PATCH_DEV=sam
-GENTOO_PATCH_PV=6.5_p20240615
-GENTOO_PATCH_NAME=${PN}-${GENTOO_PATCH_PV}-patches
-
-# Populated below in a loop. Do not add patches manually here.
-UPSTREAM_PATCHES=()
-
-if [[ ${PV} == *_p* ]] ; then
- # Sometimes, after releases, there's no megapatch available yet.
- #
- # From upstream README at e.g. https://invisible-island.net/archives/ncurses/6.3/:
- #
- # "At times (generally to mark a relatively stable point), I create a rollup
- # patch, which consists of all changes from the release through the current date."
- #
- # Also, from https://lists.gnu.org/archive/html/bug-ncurses/2019-08/msg00039.html,
- # the patches are considered to be acceptable to use after some testing. They
- # are both for development but also bug fixes.
- #
- # This array should contain a list of all the snapshots since the last
- # release if there's no megapatch available yet.
- PATCH_DATES=(
- 20240504
- 20240511
- 20240518
- 20240519
- 20240525
- 20240601
- 20240608
-
- # Latest patch is just _pN = $(ver_cut 4)
- $(ver_cut 4)
- )
-
- if [[ -z ${PATCH_DATES[@]} ]] ; then
- SRC_URI+=" https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz"
- SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P/_p/-}.patch.sh.gz.asc"
-
- # If we have a rollup patch, use that instead of the individual ones.
- UPSTREAM_PATCHES+=( patch.sh )
- else
- # We use a mirror as well because we've had reports of 403 forbidden for some users.
- upstream_url_base="https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P}-"
- upstream_m_url_base="https://invisible-mirror.net/archives/${PN}/${PV/_p*}/${MY_P}-"
-
- # Prefix each date with the upstream location (https://invisible-island.net/archives/${PN}/${PV/_p*}/${MY_P})
- mangled_patches=( "${PATCH_DATES[@]/#/${upstream_url_base}}" )
- # Suffix each with .patch.gz
- mangled_patches=( "${mangled_patches[@]/%/.patch.gz}" )
- mangled_patches_sig=( "${mangled_patches[@]/%/.asc}" )
- # Repeat for .patch.gz.asc for verify-sig
- SRC_URI+=" ${mangled_patches[@]}"
- SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]} )"
-
- # For all of the URLs, chuck in invisible-island.net too:
- SRC_URI+=" ${mangled_patches[@]/${upstream_url_base}/${upstream_m_url_base}}"
- SRC_URI+=" verify-sig? ( ${mangled_patches_sig[@]/${upstream_url_base}/${upstream_m_url_base}} )"
-
- UPSTREAM_PATCHES=( "${PATCH_DATES[@]/%/.patch}" )
-
- unset upstream_url_base upstream_m_url_base mangled_patches mangled_patches_sig
- fi
-fi
-
-SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV}/distfiles/${CATEGORY}/${PN}/${GENTOO_PATCH_NAME}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-# The subslot reflects the SONAME.
-SLOT="0/6"
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="ada +cxx debug doc gpm minimal profile split-usr +stack-realign static-libs test tinfo trace"
-RESTRICT="!test? ( test )"
-
-# TODO: ncurses allows (and we take advantage of this, even) passing
-# the SONAME for dlopen() use, so only the header is needed at build time.
-# Maybe we should bundle a copy of gpm.h so we can move gpm to PDEPEND
-# which would be far nicer UX-wise.
-DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )"
-# Block the older ncurses that installed all files w/SLOT=5, bug #557472
-RDEPEND="
- ${DEPEND}
- !<=sys-libs/ncurses-5.9-r4:5
- !<sys-libs/slang-2.3.2_pre23
- !<x11-terms/rxvt-unicode-9.06-r3
- !<x11-terms/st-0.6-r1
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
-
-PATCHES=(
- "${UPSTREAM_PATCHES[@]/#/${WORKDIR}/${MY_P}-}"
-
- # When rebasing Gentoo's patchset, please use git from a clean
- # src_prepare with upstream patches already applied. git am --reject
- # the existing patchset and rebase as required. This makes it easier
- # to manage future rebasing & adding new patches.
- #
- # For the same reasons, please include the original configure.in changes,
- # NOT just the generated results!
- "${WORKDIR}"/${GENTOO_PATCH_NAME}
-
- # Avoid breakage with CHOST ending in t64
- "${FILESDIR}"/ncurses-6.4-t64-1.patch
- "${FILESDIR}"/ncurses-6.4-t64-2.patch
-)
-
-src_unpack() {
- # Avoid trying to verify our own patchset tarball, there's no point
- if use verify-sig ; then
- local file
- for file in ${A} ; do
- if [[ ${file} == ${MY_P}.tar.gz ]] ; then
- verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.sig
- else
- [[ ${file} == @(*${GENTOO_PATCH_NAME}.tar.xz|*.asc|*.sig) ]] && continue
-
- verify-sig_verify_detached "${DISTDIR}"/${file} "${DISTDIR}"/${file}.asc
- fi
- done
- fi
-
- default
-}
-
-src_configure() {
- # bug #115036
- unset TERMINFO
-
- tc-export_build_env BUILD_{CC,CXX,CPP}
-
- # bug #214642
- BUILD_CPPFLAGS+=" -D_GNU_SOURCE"
-
- # Build the various variants of ncurses -- narrow, wide, and threaded. #510440
- # Order matters here -- we want unicode/thread versions to come last so that the
- # binaries in /usr/bin support both wide and narrow.
- # The naming is also important as we use these directly with filenames and when
- # checking configure flags.
- NCURSES_TARGETS=(
- ncurses
- ncursesw
- ncursest
- ncursestw
- )
-
- # When installing ncurses, we have to use a compatible version of tic.
- # This comes up when cross-compiling, doing multilib builds, upgrading,
- # or installing for the first time. Build a local copy of tic whenever
- # the host version isn't available. bug #249363, bug #557598
- if ! has_version -b "~sys-libs/${P}:0" ; then
- local lbuildflags="-static"
-
- # some toolchains don't quite support static linking
- local dbuildflags="-Wl,-rpath,${WORKDIR}/lib"
- case ${CHOST} in
- *-darwin*) dbuildflags= ;;
- *-solaris*) dbuildflags="-Wl,-R,${WORKDIR}/lib" ;;
- esac
- echo "int main() {}" | \
- $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \
- || lbuildflags="${dbuildflags}"
-
- # We can't re-use the multilib BUILD_DIR because we run outside of it.
- BUILD_DIR="${WORKDIR}" \
- CC=${BUILD_CC} \
- CXX=${BUILD_CXX} \
- CPP=${BUILD_CPP} \
- CHOST=${CBUILD} \
- CFLAGS=${BUILD_CFLAGS} \
- CXXFLAGS=${BUILD_CXXFLAGS} \
- CPPFLAGS=${BUILD_CPPFLAGS} \
- LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \
- do_configure cross --without-shared --with-normal --with-progs --without-ada
- fi
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- if [[ ${ABI} == x86 ]] ; then
- # For compatibility with older binaries at slight performance cost.
- # bug #616402
- use stack-realign && append-flags -mstackrealign
- fi
-
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_configure "${t}"
- done
-}
-
-do_configure() {
- local target=$1
- shift
-
- mkdir "${BUILD_DIR}/${target}" || die
- cd "${BUILD_DIR}/${target}" || die
-
- local conf=(
- # We need the basic terminfo files in /etc, bug #37026. We will
- # add '--with-terminfo-dirs' and then populate /etc/terminfo in
- # src_install() ...
- --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo"
-
- # Enable installation of .pc files.
- --enable-pc-files
- # This path is used to control where the .pc files are installed.
- --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-
- # Now the rest of the various standard flags.
- --with-shared
- --enable-fvisibility
- # (Originally disabled until bug #245417 is sorted out, but now
- # just keeping it off for good, given nobody needed it until now
- # (2022) and we're trying to phase out bdb.)
- --without-hashed-db
- $(use_with ada)
- $(use_with cxx)
- $(use_with cxx cxx-binding)
- --with-cxx-shared
- $(use_with debug)
- $(use_with profile)
- # The configure script uses ldd to parse the linked output which
- # is flaky for cross-compiling/multilib/ldd versions/etc...
- $(use_with gpm gpm libgpm.so.1)
-
- # bug #930806
- --disable-setuid-environ
- # TODO: Maybe do these for USE=hardened
- #--disable-root-access
- #--disable-root-environ
-
- --disable-term-driver
- --disable-termcap
- --enable-symlinks
- --with-manpage-format=normal
- --enable-const
- --enable-colorfgbg
- --enable-hard-tabs
- --enable-echo
- $(use_enable !ada warnings)
- $(use_with debug assertions)
- $(use_enable !debug leaks)
- $(use_with debug expanded)
- $(use_with !debug macros)
- $(multilib_native_with progs)
- $(use_with test tests)
- $(use_with trace)
- $(use_with tinfo termlib)
- --disable-stripping
- --disable-pkg-ldflags
- )
-
- if [[ ${target} == ncurses*w ]] ; then
- conf+=( --enable-widec )
- else
- conf+=( --disable-widec )
- fi
- if [[ ${target} == ncursest* ]] ; then
- conf+=( --with-{pthread,reentrant} )
- else
- conf+=( --without-{pthread,reentrant} )
- fi
-
- # Make sure each variant goes in a unique location.
- if [[ ${target} == "ncurses" ]] ; then
- # "ncurses" variant goes into "${EPREFIX}"/usr/include
- # It is needed on Prefix because the configure script appends
- # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr.
- conf+=( --enable-overwrite )
- else
- conf+=( --includedir="${EPREFIX}"/usr/include/${target} )
- fi
- # See comments in src_configure.
- if [[ ${target} != "cross" ]] ; then
- local cross_path="${WORKDIR}/cross"
- [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic"
- fi
-
- ECONF_SOURCE="${S}" econf "${conf[@]}" "$@"
-}
-
-src_compile() {
- # See comments in src_configure.
- if ! has_version -b "~sys-libs/${P}:0" ; then
- BUILD_DIR="${WORKDIR}" do_compile cross -C progs tic$(get_exeext)
- fi
-
- multilib-minimal_src_compile
-}
-
-multilib_src_compile() {
- local t
- for t in "${NCURSES_TARGETS[@]}" ; do
- do_compile "${t}"
- done
-}
-
-do_compile() {
- local target=$1
- shift
-
- cd "${BUILD_DIR}/${target}" || die
-
- # A little hack to fix parallel builds ... they break when
- # generating sources so if we generate the sources first (in
- # non-parallel), we can then build the rest of the package
- # in parallel. This is not really a perf hit since the source
- # generation is quite small.
- emake -j1 sources
-
- # For some reason, sources depends on pc-files which depends on
- # compiled libraries which depends on sources which ...
- # Manually delete the pc-files file so the install step will
- # create the .pc files we want.
- rm -f misc/pc-files || die
- emake "$@"
-}
-
-multilib_src_install() {
- local target
- for target in "${NCURSES_TARGETS[@]}" ; do
- emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install
- done
-
- # Move main libraries into /.
- if multilib_is_native_abi ; then
- gen_usr_ldscript -a \
- "${NCURSES_TARGETS[@]}" \
- $(usex tinfo 'tinfow tinfo' '')
- fi
-
- # Don't delete '*.dll.a', needed for linking, bug #631468
- if ! use static-libs; then
- find "${ED}"/usr/ -name '*.a' ! -name '*.dll.a' -delete || die
- fi
-
- # Build fails to create this ...
- # -FIXME-
- # Ugly hackaround for riscv having two parts libdir (bug #689240)
- # Replace this hack with an official solution once we have one...
- # -FIXME-
- dosym $(sed 's@[^/]\+@..@g' <<< $(get_libdir))/share/terminfo \
- /usr/$(get_libdir)/terminfo
-
- # Remove obsolete libcurses symlink that is created by the build
- # system. Technically, this could be also achieved
- # via --disable-overwrite but it also moves headers implicitly,
- # and we do not want to do this yet.
- # bug #836696
- rm "${ED}"/usr/$(get_libdir)/libcurses* || die
-}
-
-multilib_src_install_all() {
- local terms=(
- # Dumb/simple values that show up when using the in-kernel VT.
- ansi console dumb linux
- vt{52,100,102,200,220}
- # [u]rxvt users used to be pretty common. Probably should drop this
- # since upstream is dead and people are moving away from it.
- rxvt{,-unicode}{,-256color}
- # xterm users are common, as is terminals re-using/spoofing it.
- xterm xterm-{,256}color
- # screen is common (and reused by tmux).
- screen{,-256color}
- screen.xterm-256color
- )
- if use split-usr ; then
- local x
- # We need the basic terminfo files in /etc for embedded/recovery, bug #37026
- einfo "Installing basic terminfo files in /etc..."
- for x in "${terms[@]}"; do
- local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null)
- local basedir=$(basename "$(dirname "${termfile}")")
-
- if [[ -n ${termfile} ]] ; then
- dodir "/etc/terminfo/${basedir}"
- mv "${termfile}" "${ED}/etc/terminfo/${basedir}/" || die
- dosym "../../../../etc/terminfo/${basedir}/${x}" \
- "/usr/share/terminfo/${basedir}/${x}"
- fi
- done
-
- echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" | newenvd - 50ncurses
-
- use minimal && rm -r "${ED}"/usr/share/terminfo*
- # Because ncurses5-config --terminfo returns the directory we keep it
- # bug #245374
- keepdir /usr/share/terminfo
- elif use minimal ; then
- # Keep only the basic terminfo files
- find "${ED}"/usr/share/terminfo/ \
- \( -type f -o -type l \) ${terms[*]/#/! -name } -delete , \
- -type d -empty -delete || die
- fi
-
- cd "${S}" || die
- dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc
- if use doc ; then
- docinto html
- dodoc -r doc/html/
- fi
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libncurses.so.5
- preserve_old_lib /$(get_libdir)/libncursesw.so.5
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libncurses.so.5
- preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5
-}
diff --git a/sys-libs/newlib/Manifest b/sys-libs/newlib/Manifest
index fd6b22781de8..37b686c5c4a1 100644
--- a/sys-libs/newlib/Manifest
+++ b/sys-libs/newlib/Manifest
@@ -1,12 +1,7 @@
AUX newlib-3.3.0-no-nano-cxx.patch 1338 BLAKE2B ff16751b01784a38dc07aa79120c38f0274bb14caeeb653cecca4b3ca69c60a72e0e1918fea8f2c0f4734293817539122fa41b349f61ceabb3cb9ae878a11d13 SHA512 08dfc7d854dc75c8b875fa7c1829078c8df8988b4ba2b20739d387c656ca63b8b344487861d23658e31b72f911d05c2f57abe51bdf3b2dedcc88ce072c6595c8
AUX newlib-4.3.0.20230120-libc-arm-setjmp-gcc-backwards-compat.patch 2411 BLAKE2B db79f5e534f70bc6338a647a242498d0e175624671c41ae9abf9030b046ffc50e576c7a25fe44e6607cdf42c072995e7d685889ae442097ad1c469919d59936c SHA512 91c684078904a38b0791bf788f48145eff9ccb393a8d1e181d5a66b3e359732576f257bd5908cd02844459cf12bbb2b43fbcd9b9095c36c08e6408aa68be95d1
-DIST newlib-4.1.0.tar.gz 18648429 BLAKE2B c4d4d734bceeacf05b75d450d4316392d0000266812f98f99cd3f9f0926ac9848e1dc145361827d1d6951edfe5f109923c982d9f284f927ffc5fd5e5edaf8be6 SHA512 6a24b64bb8136e4cd9d21b8720a36f87a34397fd952520af66903e183455c5cf19bb0ee4607c12a05d139c6c59382263383cb62c461a839f969d23d3bc4b1d34
-DIST newlib-4.2.0.20211231.tar.gz 18921589 BLAKE2B fb85a368d082e2b9005d5d295d6854eb7d0e351cfade6516e6a06b18656d9139d7629f55a6d5f63337c6bce511a2373e797bed96847f19941b26cacfb1c8d3bc SHA512 0c3efd7b74a6b8457a717cbb6aa6c5ff268eeaba375535465c6bd6502c3d32b54a9bc3ba7f2c6990f78e29152eee2f62acb39b674d24f9ddf440374a1ec9d2e8
DIST newlib-4.3.0.20230120.tar.gz 8832922 BLAKE2B b5493f25e44049f4e1222698894e7e67756928062e05f5d16bcd52b2221e5c04a80a9e0cbc3fc6e92d67fe6b3813e06b6d3a6d39e8742e02b8f13ff84d809de1 SHA512 4a06309d36c2255fef8fc8f2d133cafa850f1ed2eddfb27b5d45f5d16af69e0fca829a0b4c9b34af4ed3a28c6fcc929761e0ee823a4229f35c2853d432b5e7ef
DIST newlib-4.4.0.20231231.tar.gz 9022406 BLAKE2B 1df810c7776aa1fe2806682509ab45df642f5e80d6069b7c6ca513b3d820440fc73abdf7505d1f3149d0a07f0c5558a48620d2824f1698c2f1df5f6473105eb4 SHA512 ea3baa0b7c9175aae024f0b7d272be092ef2c07483239a99329203e18a44bc23093d29e0ffcbe14bc591f610f0829eacd646cabb06d1c34aa23239cb1b814b46
-EBUILD newlib-4.1.0-r2.ebuild 4487 BLAKE2B 0ee16a23ff8e7048ccba6dd769530b8b6f23f574b0895e6233a450c5c4e83ad252a06d1f7d272976d6f11f269c6d7d9d555bcfabb3d527bc1aa55d4119ad29ae SHA512 b90f0ae3f65915833a342116ecdd985b28a13b8ad95613c92fed0b0be5eaf58fca362b1db4e655ed5f68e0da82212da1649f97871c8c948d3bd6bcf6055276ff
-EBUILD newlib-4.2.0.20211231-r1.ebuild 4507 BLAKE2B 7c8c62f00175bf2a49eebc0af2b38ecf0f5849e870ab0bfe1972eb48bf5a634e159f5dec867433ac6edeea94d55a34a6bdc0ead3094801a24c4f9c5dcd349592 SHA512 514d6ab7776619894849a724d196f156b03ee63f4564fa627500aed07fdda07791944d3280377a229fc12cd5d3fb983dbc1a05fecefea3d961a67dbb54ec6acf
-EBUILD newlib-4.3.0.20230120-r1.ebuild 4424 BLAKE2B 74b269b222db0dc5fad2c8eaab1c023cccc5fefe0cd14c2490b8e5f1125c07345f4c39a3aa67c972c737880901b60b1cd923d282b070645a198acfe12271aa04 SHA512 9d00014a5668ce2b8ebcfea42ae6ae3c7de773d351e4e30a8504d763b39f1b41907720b6e793445fc0414c9cceafe7f4bcf474df4120684e7915acb7dd3898df
EBUILD newlib-4.3.0.20230120-r2.ebuild 4519 BLAKE2B 9db3b20c71eb0a64914497fe39df11cada6f60376a1677f8875b10853cfc6264102e314c2ebf34357a700e4549eda6fe3dc969151ecc9339a9d501820cf8b485 SHA512 8fd374c92ed35b6f6ca5d782ca343c6fbce0594f6585fae96f5000da287c78c8f7d15502e7394fdf3890d5865099e3d01ae9a67bc5f009071ac3c78782994d17
EBUILD newlib-4.4.0.20231231.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb
EBUILD newlib-9999.ebuild 4906 BLAKE2B 48d0923da559914a2b36618111eedc6610dbb75c8982596d5f1ff8bd048bb7fa4872ead719f7a81622ee92a51969e96d01c68a4b8b57445d45a4cbf4145054d6 SHA512 d9609c845b667160f289ba2c9d1f36c91a06dc0afad8dcb72c80b231eb0456fb99cb8fdcb9ceaf2d471e331fbf30daa13fa352a6e0ab988d72478681b6998deb
diff --git a/sys-libs/newlib/newlib-4.1.0-r2.ebuild b/sys-libs/newlib/newlib-4.1.0-r2.ebuild
deleted file mode 100644
index 52f5c0cbde67..000000000000
--- a/sys-libs/newlib/newlib-4.1.0-r2.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git"
- inherit git-r3
-else
- SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-DESCRIPTION="Newlib is a C library intended for use on embedded systems"
-HOMEPAGE="https://sourceware.org/newlib/"
-
-LICENSE="NEWLIB LIBGLOSS GPL-2"
-SLOT="0"
-IUSE="nls threads unicode headers-only nano"
-RESTRICT="strip"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch
-)
-
-NEWLIBBUILD="${WORKDIR}/build"
-NEWLIBNANOBUILD="${WORKDIR}/build.nano"
-NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install"
-
-# Adding -U_FORTIFY_SOURCE to counter the effect of Gentoo's
-# auto-addition of _FORTIFY_SOURCE at gcc site: bug #656018#c4
-# Currently newlib can't be built itself when _FORTIFY_SOURCE
-# is set.
-CFLAGS_FULL="-ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
-CFLAGS_NANO="-Os -ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
-
-pkg_setup() {
- # Reject newlib-on-glibc type installs
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- case ${CHOST} in
- *-newlib|*-elf) ;;
- *) die "Use sys-devel/crossdev to build a newlib toolchain" ;;
- esac
- fi
-
- case ${CTARGET} in
- msp430*)
- if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then
- # bug #717610
- die "gcc for ${CTARGET} has to be 10.1 or above"
- fi
- ;;
- esac
-}
-
-src_configure() {
- # TODO: we should fix this
- unset LDFLAGS
- CHOST=${CTARGET} strip-unsupported-flags
- CCASFLAGS_ORIG="${CCASFLAGS}"
- CFLAGS_ORIG="${CFLAGS}"
-
- local myconf=(
- # Disable legacy syscall stub code in newlib. These have been
- # moved to libgloss for a long time now, so the code in newlib
- # itself just gets in the way.
- --disable-newlib-supplied-syscalls
- )
- [[ ${CTARGET} == "spu" ]] \
- && myconf+=( --disable-newlib-multithread ) \
- || myconf+=( $(use_enable threads newlib-multithread) )
-
- mkdir -p "${NEWLIBBUILD}"
- cd "${NEWLIBBUILD}"
-
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- "${myconf[@]}"
-
- # Build newlib-nano beside newlib (original)
- # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2
- if use nano ; then
- mkdir -p "${NEWLIBNANOBUILD}" || die
- cd "${NEWLIBNANOBUILD}" || die
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- --enable-newlib-reent-small \
- --disable-newlib-fvwrite-in-streamio \
- --disable-newlib-fseek-optimization \
- --disable-newlib-wide-orient \
- --enable-newlib-nano-malloc \
- --disable-newlib-unbuf-stream-opt \
- --enable-lite-exit \
- --enable-newlib-global-atexit \
- --enable-newlib-nano-formatted-io \
- "${myconf[@]}"
- fi
-}
-
-src_compile() {
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- emake -C "${NEWLIBBUILD}"
-
- if use nano ; then
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- emake -C "${NEWLIBNANOBUILD}"
- fi
-}
-
-src_install() {
- cd "${NEWLIBBUILD}" || die
- emake -j1 DESTDIR="${D}" install
-
- if use nano ; then
- cd "${NEWLIBNANOBUILD}" || die
- emake -j1 DESTDIR="${NEWLIBNANOTMPINSTALL}" install
- # Rename nano lib* files to lib*_nano and move to the real ${D}
- local nanolibfiles=""
- nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|m\|rdimon\)\.a" -print)
- for f in ${nanolibfiles}; do
- local l="${f##${NEWLIBNANOTMPINSTALL}}"
- mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die
- done
-
- # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h
- mkdir -p "${D}/usr/${CTARGET}/include/newlib-nano" || die
- mv "${NEWLIBNANOTMPINSTALL}/usr/${CTARGET}/include/newlib.h" \
- "${D}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die
- fi
-
- # minor hack to keep things clean
- rm -rf "${D}"/usr/share/info || die
- rm -rf "${D}"/usr/info || die
-}
diff --git a/sys-libs/newlib/newlib-4.2.0.20211231-r1.ebuild b/sys-libs/newlib/newlib-4.2.0.20211231-r1.ebuild
deleted file mode 100644
index 17fd43c36734..000000000000
--- a/sys-libs/newlib/newlib-4.2.0.20211231-r1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git"
- inherit git-r3
-else
- SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-DESCRIPTION="Newlib is a C library intended for use on embedded systems"
-HOMEPAGE="https://sourceware.org/newlib/"
-
-LICENSE="NEWLIB LIBGLOSS GPL-2"
-SLOT="0"
-IUSE="nls threads unicode headers-only nano"
-RESTRICT="strip"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch
-)
-
-NEWLIBBUILD="${WORKDIR}/build"
-NEWLIBNANOBUILD="${WORKDIR}/build.nano"
-NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install"
-
-# Adding -U_FORTIFY_SOURCE to counter the effect of Gentoo's
-# auto-addition of _FORTIFY_SOURCE at gcc site: bug #656018#c4
-# Currently newlib can't be built itself when _FORTIFY_SOURCE
-# is set.
-CFLAGS_FULL="-ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
-CFLAGS_NANO="-Os -ffunction-sections -fdata-sections -U_FORTIFY_SOURCE"
-
-pkg_setup() {
- # Reject newlib-on-glibc type installs
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- case ${CHOST} in
- *-newlib|*-elf) ;;
- *) die "Use sys-devel/crossdev to build a newlib toolchain" ;;
- esac
- fi
-
- case ${CTARGET} in
- msp430*)
- if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then
- # bug #717610
- die "gcc for ${CTARGET} has to be 10.1 or above"
- fi
- ;;
- esac
-}
-
-src_configure() {
- # TODO: we should fix this
- unset LDFLAGS
- CHOST=${CTARGET} strip-unsupported-flags
- CCASFLAGS_ORIG="${CCASFLAGS}"
- CFLAGS_ORIG="${CFLAGS}"
-
- local myconf=(
- # Disable legacy syscall stub code in newlib. These have been
- # moved to libgloss for a long time now, so the code in newlib
- # itself just gets in the way.
- --disable-newlib-supplied-syscalls
- )
- [[ ${CTARGET} == "spu" ]] \
- && myconf+=( --disable-newlib-multithread ) \
- || myconf+=( $(use_enable threads newlib-multithread) )
-
- mkdir -p "${NEWLIBBUILD}"
- cd "${NEWLIBBUILD}"
-
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- "${myconf[@]}"
-
- # Build newlib-nano beside newlib (original)
- # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2
- if use nano ; then
- mkdir -p "${NEWLIBNANOBUILD}" || die
- cd "${NEWLIBNANOBUILD}" || die
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- --enable-newlib-reent-small \
- --disable-newlib-fvwrite-in-streamio \
- --disable-newlib-fseek-optimization \
- --disable-newlib-wide-orient \
- --enable-newlib-nano-malloc \
- --disable-newlib-unbuf-stream-opt \
- --enable-lite-exit \
- --enable-newlib-global-atexit \
- --enable-newlib-nano-formatted-io \
- "${myconf[@]}"
- fi
-}
-
-src_compile() {
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- emake -C "${NEWLIBBUILD}"
-
- if use nano ; then
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- emake -C "${NEWLIBNANOBUILD}"
- fi
-}
-
-src_install() {
- cd "${NEWLIBBUILD}" || die
- emake -j1 DESTDIR="${D}" install
-
- if use nano ; then
- cd "${NEWLIBNANOBUILD}" || die
- emake -j1 DESTDIR="${NEWLIBNANOTMPINSTALL}" install
- # Rename nano lib* files to lib*_nano and move to the real ${D}
- local nanolibfiles=""
- nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|m\|rdimon\|gloss\)\.a" -print)
- for f in ${nanolibfiles}; do
- local l="${f##${NEWLIBNANOTMPINSTALL}}"
- mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die
- done
-
- # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h
- mkdir -p "${ED}/usr/${CTARGET}/include/newlib-nano" || die
- mv "${NEWLIBNANOTMPINSTALL}/${EPREFIX}/usr/${CTARGET}/include/newlib.h" \
- "${ED}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die
- fi
-
- # minor hack to keep things clean
- rm -rf "${D}"/usr/share/info || die
- rm -rf "${D}"/usr/info || die
-}
diff --git a/sys-libs/newlib/newlib-4.3.0.20230120-r1.ebuild b/sys-libs/newlib/newlib-4.3.0.20230120-r1.ebuild
deleted file mode 100644
index 21ce7e99de7c..000000000000
--- a/sys-libs/newlib/newlib-4.3.0.20230120-r1.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://sourceware.org/git/newlib-cygwin.git"
- inherit git-r3
-else
- SRC_URI="ftp://sourceware.org/pub/newlib/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY} == cross-* ]] ; then
- export CTARGET=${CATEGORY#cross-}
- fi
-fi
-
-DESCRIPTION="Newlib is a C library intended for use on embedded systems"
-HOMEPAGE="https://sourceware.org/newlib/"
-
-LICENSE="NEWLIB LIBGLOSS GPL-2"
-SLOT="0"
-IUSE="nls threads unicode headers-only nano"
-RESTRICT="strip"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.3.0-no-nano-cxx.patch
-)
-
-NEWLIBBUILD="${WORKDIR}/build"
-NEWLIBNANOBUILD="${WORKDIR}/build.nano"
-NEWLIBNANOTMPINSTALL="${WORKDIR}/nano_tmp_install"
-
-CFLAGS_FULL="-ffunction-sections -fdata-sections"
-CFLAGS_NANO="-Os -ffunction-sections -fdata-sections"
-
-pkg_setup() {
- # Reject newlib-on-glibc type installs
- if [[ ${CTARGET} == ${CHOST} ]] ; then
- case ${CHOST} in
- *-newlib|*-elf) ;;
- *) die "Use sys-devel/crossdev to build a newlib toolchain" ;;
- esac
- fi
-
- case ${CTARGET} in
- msp430*)
- if ver_test $(gcc-version ${CTARGET}) -lt 10.1; then
- # bug #717610
- die "gcc for ${CTARGET} has to be 10.1 or above"
- fi
- ;;
- esac
-}
-
-src_configure() {
- # TODO: we should fix this
- unset LDFLAGS
- CHOST=${CTARGET} strip-unsupported-flags
- CCASFLAGS_ORIG="${CCASFLAGS}"
- CFLAGS_ORIG="${CFLAGS}"
-
- local myconf=(
- # The top-level configure doesn't utilize this flag, but subdirs do,
- # so autodetection for econf doesn't work. Add ourselves.
- --disable-silent-rules
- # Disable legacy syscall stub code in newlib. These have been
- # moved to libgloss for a long time now, so the code in newlib
- # itself just gets in the way.
- --disable-newlib-supplied-syscalls
- )
- [[ ${CTARGET} == "spu" ]] \
- && myconf+=( --disable-newlib-multithread ) \
- || myconf+=( $(use_enable threads newlib-multithread) )
-
- mkdir -p "${NEWLIBBUILD}"
- cd "${NEWLIBBUILD}"
-
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- "${myconf[@]}"
-
- # Build newlib-nano beside newlib (original)
- # Based on https://tracker.debian.org/media/packages/n/newlib/rules-2.1.0%2Bgit20140818.1a8323b-2
- if use nano ; then
- mkdir -p "${NEWLIBNANOBUILD}" || die
- cd "${NEWLIBNANOBUILD}" || die
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable unicode newlib-mb) \
- $(use_enable nls) \
- --enable-newlib-reent-small \
- --disable-newlib-fvwrite-in-streamio \
- --disable-newlib-fseek-optimization \
- --disable-newlib-wide-orient \
- --enable-newlib-nano-malloc \
- --disable-newlib-unbuf-stream-opt \
- --enable-lite-exit \
- --enable-newlib-global-atexit \
- --enable-newlib-nano-formatted-io \
- "${myconf[@]}"
- fi
-}
-
-src_compile() {
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_FULL}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_FULL}"
- emake -C "${NEWLIBBUILD}"
-
- if use nano ; then
- export "CFLAGS_FOR_TARGET=${CFLAGS_ORIG} ${CFLAGS_NANO}"
- export "CCASFLAGS=${CCASFLAGS_ORIG} ${CFLAGS_NANO}"
- emake -C "${NEWLIBNANOBUILD}"
- fi
-}
-
-src_install() {
- cd "${NEWLIBBUILD}" || die
- emake DESTDIR="${D}" install
-
- if use nano ; then
- cd "${NEWLIBNANOBUILD}" || die
- emake DESTDIR="${NEWLIBNANOTMPINSTALL}" install
- # Rename nano lib* files to lib*_nano and move to the real ${D}
- local nanolibfiles=""
- nanolibfiles=$(find "${NEWLIBNANOTMPINSTALL}" -regex ".*/lib\(c\|g\|m\|rdimon\|gloss\)\.a" -print)
- for f in ${nanolibfiles}; do
- local l="${f##${NEWLIBNANOTMPINSTALL}}"
- mv -v "${f}" "${D}/${l%%\.a}_nano.a" || die
- done
-
- # Move newlib-nano's version of newlib.h to newlib-nano/newlib.h
- mkdir -p "${ED}/usr/${CTARGET}/include/newlib-nano" || die
- mv "${NEWLIBNANOTMPINSTALL}/${EPREFIX}/usr/${CTARGET}/include/newlib.h" \
- "${ED}/usr/${CTARGET}/include/newlib-nano/newlib.h" || die
- fi
-
- # minor hack to keep things clean
- rm -rf "${D}"/usr/share/info || die
- rm -rf "${D}"/usr/info || die
-}
diff --git a/sys-libs/pkgcraft/Manifest b/sys-libs/pkgcraft/Manifest
index e593a2f06052..296aae791ba9 100644
--- a/sys-libs/pkgcraft/Manifest
+++ b/sys-libs/pkgcraft/Manifest
@@ -1,8 +1,4 @@
-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
DIST pkgcraft-c-0.0.16.tar.xz 20787816 BLAKE2B 085ee23fce8e03fa82fcec210e31f032cbe51354a14de2f2261329f432c0f6460363898d735dc7ed1c4115a184d6b7a3ff9a7c4d1697b12e34729cda54f6c234 SHA512 a805919375c8791b73a803a61c10df9ba0db87381f7fdec976428cf07b287bd10f02a6c97d1b7bb4d483b37a4ec6e027ae397067b658e4a4b422102e42d814e3
-EBUILD pkgcraft-0.0.14-r1.ebuild 1970 BLAKE2B 68d3680d4ba4500df8fb778e4e07e62cab03c4bdc415daf4937e96565eaf6e099970d1a06e05db0a72d4cc919b0fddac49098064630d6dafdcbc60b5ba4fd092 SHA512 b6d58ce54aeade1ab018452906d6dd46b782b24304b2a5be5d7cf185d895e9229117d83f892c0b638c8640df7c184bd633dd272612bac0fc7ce20f60754b938b
-EBUILD pkgcraft-0.0.15-r1.ebuild 1992 BLAKE2B d1b4bb1077a8d1a87cd690aa9215e01fa8d7fd01a5aa176750a58594adc8b6005a638f2331ed9a3c0545e6af79e0175bbdf4cd6636729b5366ad33eabdc5aa43 SHA512 bcbf79f63b7f1d82de72081d0d7206c183478607118ed62ba18946ac4a361d1678028f8d94533e898c9a443ac55965d5078e89ea28ca71345422f64b88fdac8e
EBUILD pkgcraft-0.0.16-r1.ebuild 1993 BLAKE2B 6aade5dbcffa45216f7e27f02118f0c8ea432bce2b98ef5e474cab4c145e74468fc804020d1a1ee5abbe1397156b5cef755d0903c63d350c249d1b0d1e1b8d79 SHA512 c3d143d69bb598c5b2ed62754090756d4a886021db8b808e8e1699a76e97cbebecd697d31f0ce8b561bfa5ed6fa651cbb9f558cf4f252efdba04eb5fbdaa9f01
EBUILD pkgcraft-9999.ebuild 1969 BLAKE2B 22650287eddaa2ed9a48f9c106a685e39f217f3754a0a2ba3f92ae8d1f3ba7300f29c28009d9bef9dc9b9d6d3849ba30d92966ebffc91f7a3000eb00d20934e9 SHA512 dc5891eeb9718d6148efe33439f6257f9930c41cda6fe49392259c5dfa25ecbd2b5a42e1fcd80bd1e96199840f3bd98299450ff6d13ae421d2ffc5506544834b
MISC metadata.xml 322 BLAKE2B b0ee0fc53eb8b4b485f74806a78b5560aaf53f1772d7bd3e5af4e03385b3f3aed18fc52462c2d49de6c0d735db0cae3fab175b8adc0e5f7c4baa89e28973776f SHA512 9343cd5028750182fe9325c44f4c4c7df0976b79e0422b66e0fd16f94be76eaa203e8ecad5ec2cbed3535f455f038e51968850ced9afb27af9a98b6b968df88a
diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild
deleted file mode 100644
index 07b4580ff296..000000000000
--- a/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# 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
-"
-
-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-0.0.15-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild
deleted file mode 100644
index c34dff61599f..000000000000
--- a/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES=" "
-RUST_MIN_VER="1.77.1"
-
-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
-"
-
-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[@]}"
-}