From ebb5251f0eef8843d6c2dd78f4c2f71069420bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 22 May 2025 19:48:00 +0200 Subject: [PATCH] llvm-utils.eclass: Fix llvm_prepend_path w/ no '-d' and slot arg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: https://bugs.gentoo.org/951975 Signed-off-by: Michał Górny Part-of: https://github.com/gentoo/gentoo/pull/42214 Closes: https://github.com/gentoo/gentoo/pull/42214 Signed-off-by: Michał Górny --- eclass/llvm-utils.eclass | 5 ++--- eclass/tests/llvm-utils.sh | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass index abe8bb7d7d0fd..98fc814084152 100644 --- a/eclass/llvm-utils.eclass +++ b/eclass/llvm-utils.eclass @@ -126,10 +126,9 @@ llvm_fix_tool_path() { llvm_prepend_path() { debug-print-function ${FUNCNAME} "$@" - local prefix - case ${1--d} in + local prefix=${ESYSROOT} + case ${1} in -d) - prefix=${ESYSROOT} shift ;; -b) diff --git a/eclass/tests/llvm-utils.sh b/eclass/tests/llvm-utils.sh index 4ba767a442f2d..a3219d23b491f 100755 --- a/eclass/tests/llvm-utils.sh +++ b/eclass/tests/llvm-utils.sh @@ -104,6 +104,8 @@ test_fix_tool_path AR ar 1 test_fix_tool_path AR ar 0 ESYSROOT= +einfo "Testing with ESYSROOT=${ESYSROOT}" +eindent test_prepend_path 17 /usr/bin /usr/bin:/usr/lib/llvm/17/bin test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/bin /usr/lib/llvm/17/bin:/usr/bin test_prepend_path 17 /usr/bin:/usr/lib/llvm/17/bin /usr/bin:/usr/lib/llvm/17/bin @@ -123,5 +125,24 @@ test_prepend_path 18 /usr/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin \ /usr/bin:/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/bin:/usr/lib/llvm/16/bin \ /usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/bin:/usr/lib/llvm/16/bin +eoutdent + +ESYSROOT=/foo +einfo "Testing with ESYSROOT=${ESYSROOT}" +eindent +test_prepend_path 17 /usr/bin /usr/bin:/foo/usr/lib/llvm/17/bin +test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/bin \ + /foo/usr/lib/llvm/17/bin:/usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 17 /usr/bin:/usr/lib/llvm/17/bin: \ + /usr/bin:/foo/usr/lib/llvm/17/bin:/usr/lib/llvm/17/bin +test_prepend_path 17 /foo/usr/lib/llvm/17/bin:/usr/bin \ + /foo/usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 17 /usr/bin:/foo/usr/lib/llvm/17/bin: \ + /usr/bin:/foo/usr/lib/llvm/17/bin +test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/bin \ + /foo/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 18 /foo/usr/lib/llvm/17/bin:/usr/bin \ + /foo/usr/lib/llvm/18/bin:/foo/usr/lib/llvm/17/bin:/usr/bin +eoutdent texit