commit:     ebb5251f0eef8843d6c2dd78f4c2f71069420bfe
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May 22 17:48:00 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 23 18:59:05 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebb5251f

llvm-utils.eclass: Fix llvm_prepend_path w/ no '-d' and slot arg

Closes: https://bugs.gentoo.org/951975
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Part-of: https://github.com/gentoo/gentoo/pull/42214
Closes: https://github.com/gentoo/gentoo/pull/42214
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 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 abe8bb7d7d0f..98fc81408415 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 4ba767a442f2..a3219d23b491 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

Reply via email to