summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-22 06:30:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-22 06:30:44 +0000
commit5a2cecfc8661e1d3a762adf05cf8eb142cd41710 (patch)
tree341806a72603cc8845e7e1595289e7a8b9570f2a /eclass
parentd2bcdab82e5f5f38a8ab54026e8aa94edb1b77a6 (diff)
gentoo auto-resync : 22:12:2024 - 06:30:44
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39850 -> 39856 bytes
-rw-r--r--eclass/llvm.org.eclass3
-rw-r--r--eclass/rust.eclass21
-rwxr-xr-xeclass/tests/llvm-r1.sh2
-rw-r--r--eclass/zig.eclass5
5 files changed, 23 insertions, 8 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index ae30ae19c7f8..84817bb38c99 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 6a68bde89a46..e36e846801c3 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 20.0.0_pre20241221)
+ EGIT_COMMIT=665d79f2e967a5eee6fff93685e45f50cf24cab2
+ ;;
20.0.0_pre20241215)
EGIT_COMMIT=49a5ad8e5714fd404210279303acc97b495d66d0
;;
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index eb14ca2329b5..a7199f984af8 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -286,7 +286,8 @@ unset -f _rust_set_globals
# @USAGE: [-b|-d]
# @DESCRIPTION:
# Find the newest Rust install that is acceptable for the package,
-# and print its version number (i.e. SLOT) and type (source or bin[ary]).
+# and export its version (i.e. SLOT) and type (source or bin[ary])
+# as RUST_SLOT and RUST_TYPE.
#
# If -b is specified, the checks are performed relative to BROOT,
# and BROOT-path is returned. -b is the default.
@@ -363,10 +364,13 @@ _get_rust_slot() {
# If we're in LLVM mode we can skip any slots that don't match the selected USE
if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
+ einfo "Skipping Rust ${slot} as it does not match llvm_slot_${llvm_r1_slot}"
continue
fi
fi
+ einfo "Checking whether Rust ${slot} is suitable ..."
+
if declare -f rust_check_deps >/dev/null; then
local RUST_SLOT="${slot}"
local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}"
@@ -396,11 +400,13 @@ _get_rust_slot() {
esac
local _pkg
for _pkg in "${rust_pkgs[@]}"; do
+ einfo " Checking for ${_pkg} ..."
if has_version "${hv_switch}" "${_pkg}"; then
+ export RUST_SLOT="${slot}"
if [[ "${_pkg}" == "dev-lang/rust:${slot}${usedep}" ]]; then
- echo "${slot} source"
+ export RUST_TYPE="source"
else
- echo "${slot} binary"
+ export RUST_TYPE="binary"
fi
return
fi
@@ -418,7 +424,12 @@ _get_rust_slot() {
die "${FUNCNAME}: invalid max_slot=${max_slot}"
fi
- die "No Rust slot${1:+ <= ${1}} satisfying the package's dependencies found installed!"
+ local requirement_msg=""
+ [[ -n "${RUST_MAX_VER}" ]] && requirement_msg+="<= ${RUST_MAX_VER} "
+ [[ -n "${RUST_MIN_VER}" ]] && requirement_msg+=">= ${RUST_MIN_VER} "
+ [[ -n "${RUST_REQ_USE}" ]] && requirement_msg+="with USE=${RUST_REQ_USE}"
+ requirement_msg="${requirement_msg% }"
+ die "No Rust matching requirements${requirement_msg:+ (${requirement_msg})} found installed!"
}
# @FUNCTION: get_rust_path
@@ -500,7 +511,7 @@ rust_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
- read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot -b)
+ _get_rust_slot -b
rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}"
local prefix=$(get_rust_path "${BROOT}" "${RUST_SLOT}" "${RUST_TYPE}")
CARGO="${prefix}bin/cargo"
diff --git a/eclass/tests/llvm-r1.sh b/eclass/tests/llvm-r1.sh
index 730b0a6db653..d4657815465d 100755
--- a/eclass/tests/llvm-r1.sh
+++ b/eclass/tests/llvm-r1.sh
@@ -54,7 +54,7 @@ test_gen_dep() {
local value=$(llvm_gen_dep "${arg}")
if [[ ${value} != ${expected} ]]; then
- eerror "python_get_usedep ${arg}"
+ eerror "llvm_gen_dep ${arg}"
eerror "gave:"
eerror " ${value}"
eerror "expected:"
diff --git a/eclass/zig.eclass b/eclass/zig.eclass
index e838616ef72a..2a0178e66d71 100644
--- a/eclass/zig.eclass
+++ b/eclass/zig.eclass
@@ -520,9 +520,10 @@ zig_src_test() {
# by whitespaces is not enough for some cases.
# We probably need something like "--list-steps names_only".
# In practice, almost nobody sets such names.
+ # Ignore failures like rare random "error.BrokenPipe" here.
+ # If they are real, they would appear in "ezig build test" anyway.
if grep -q '^[ ]*test[ ]' < <(
- nonfatal ezig build --list-steps "${args[@]}" ||
- die "ZBS: listing steps failed"
+ nonfatal ezig build --list-steps "${args[@]}"
); then
einfo "ZBS: testing with: ${args[@]}"
nonfatal ezig build test "${args[@]}" ||