commit:     047e5d7e2b2c2be0393692aa780bb4a08b916930
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sat Feb 21 19:59:55 2026 +0000
Commit:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
CommitDate: Thu Mar  5 22:23:47 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=047e5d7e

sci-ml/ollama: 9999 refactor CPU_FLAGS_ handling

Use code for potential `cpu-features.eclass`.

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>

 sci-ml/ollama/ollama-9999.ebuild | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/sci-ml/ollama/ollama-9999.ebuild b/sci-ml/ollama/ollama-9999.ebuild
index 0c9e306ed2..aeb888ad55 100644
--- a/sci-ml/ollama/ollama-9999.ebuild
+++ b/sci-ml/ollama/ollama-9999.ebuild
@@ -26,22 +26,29 @@ fi
 LICENSE="MIT"
 SLOT="0"
 
-X86_CPU_FLAGS=(
-       sse4_2
-       avx
-       f16c
-       avx2
-       bmi2
-       fma3
-       avx512f
-       avx512vbmi
-       avx512_vnni
-       avx_vnni
-)
-CPU_FLAGS=( "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
-IUSE="blas ${CPU_FLAGS[*]} cuda mkl rocm vulkan"
+IUSE="blas cuda rocm mkl vulkan"
 # IUSE+=" opencl"
 
+declare -rgA CPU_FEATURES=(
+       [AVX2]="x86"
+       [AVX512F]="x86"
+       [AVX512_VBMI]="x86;avx512vbmi"
+       [AVX512_VNNI]="x86"
+       [AVX]="x86"
+       [AVX_VNNI]="x86"
+       [BMI2]="x86"
+       [F16C]="x86"
+       [FMA]="x86;fma3"
+       [SSE42]="x86;sse4_2"
+)
+add_cpu_features_use() {
+       for flag in "${!CPU_FEATURES[@]}"; do
+               IFS=$';' read -r arch use <<< "${CPU_FEATURES[${flag}]}"
+               IUSE+=" cpu_flags_${arch}_${use:-${flag,,}}"
+       done
+}
+add_cpu_features_use
+
 RESTRICT="mirror test"
 
 COMMON_DEPEND="

Reply via email to