commit:     67149ac377ca415364fa6beb789e034b3b590386
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Wed Oct 29 16:42:11 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 29 19:23:26 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67149ac3

sci-libs/rocBLAS: switch to sci-libs/flexiblas and fix dependencies

sci-libs/flexiblas seems to be a decent solution given that it cblas
is only used for validation.

Flag video_cards_amdgpu was dropped, because it was non-switchable;
we require to select AMD GPU with REQUIRED_USE; attempt to disable
video_cards_amdgpu after that leads to compilation error.

Yes, technically it is possible to build rocBLAS for CUDA, but there is
no request for this at this moment.

Closes: https://bugs.gentoo.org/965167
Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44373
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...ocBLAS-7.0.2.ebuild => rocBLAS-7.0.2-r1.ebuild} | 24 ++++++-------
 sci-libs/rocBLAS/rocBLAS-9999.ebuild               | 39 +++++++++++-----------
 2 files changed, 30 insertions(+), 33 deletions(-)

diff --git a/sci-libs/rocBLAS/rocBLAS-7.0.2.ebuild 
b/sci-libs/rocBLAS/rocBLAS-7.0.2-r1.ebuild
similarity index 87%
rename from sci-libs/rocBLAS/rocBLAS-7.0.2.ebuild
rename to sci-libs/rocBLAS/rocBLAS-7.0.2-r1.ebuild
index 2e2813dc28cd..36098ed623e0 100644
--- a/sci-libs/rocBLAS/rocBLAS-7.0.2.ebuild
+++ b/sci-libs/rocBLAS/rocBLAS-7.0.2-r1.ebuild
@@ -28,7 +28,7 @@ else
 fi
 
 LICENSE="MIT BSD"
-IUSE="benchmark hipblaslt roctracer test video_cards_amdgpu"
+IUSE="benchmark hipblaslt roctracer test"
 RESTRICT="!test? ( test )"
 REQUIRED_USE="${ROCM_REQUIRED_USE}"
 
@@ -41,9 +41,9 @@ RDEPEND="
        roctracer? ( dev-util/roctracer:${SLOT} )
        hipblaslt? ( sci-libs/hipBLASLt:${SLOT} )
        benchmark? (
-               virtual/blas
                dev-cpp/gtest
                llvm-runtimes/openmp
+               sci-libs/flexiblas
        )
 "
 
@@ -51,13 +51,11 @@ DEPEND="
        ${RDEPEND}
        >=dev-cpp/msgpack-cxx-6.0.0
        test? (
-               virtual/blas
                dev-cpp/gtest
                llvm-runtimes/openmp
+               sci-libs/flexiblas
        )
-       video_cards_amdgpu? (
-               dev-util/Tensile:${SLOT}
-       )
+       dev-util/Tensile:${SLOT}
 "
 
 QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*"
@@ -66,7 +64,6 @@ PATCHES=(
        "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch
        "${FILESDIR}"/${PN}-7.0.2-expand-isa-compatibility.patch
        "${FILESDIR}"/${PN}-6.3.0-no-git.patch
-       "${FILESDIR}"/${PN}-7.0.1-find-cblas.patch
 )
 
 src_prepare() {
@@ -91,7 +88,7 @@ src_configure() {
                -DCMAKE_SKIP_RPATH=ON
                -DROCM_SYMLINK_LIBS=OFF
                -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-               -DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)"
+               -DBUILD_WITH_TENSILE=ON
                -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
                -DBUILD_CLIENTS_SAMPLES=OFF
                -DBUILD_CLIENTS_TESTS="$(usex test ON OFF)"
@@ -100,15 +97,16 @@ src_configure() {
                -DBUILD_WITH_HIPBLASLT="$(usex hipblaslt ON OFF)"
                -DROCBLAS_ENABLE_MARKER="$(usex roctracer ON OFF)"
                -DLINK_BLIS=OFF
-               -DTensile_CPU_THREADS=$(makeopts_jobs)
+               -DTensile_COMPILER="${CXX}"
+               -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
+               -DTensile_CPU_THREADS="$(makeopts_jobs)"
                -Wno-dev
        )
 
-       if usex video_cards_amdgpu; then
+       if use benchmark || use test; then
                mycmakeargs+=(
-                       -DTensile_COMPILER="hipcc"
-                       -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
-                       -DTensile_CPU_THREADS="$(makeopts_jobs)"
+                       -DBLA_PKGCONFIG_BLAS=ON
+                       -DBLA_VENDOR=FlexiBLAS
                )
        fi
 

diff --git a/sci-libs/rocBLAS/rocBLAS-9999.ebuild 
b/sci-libs/rocBLAS/rocBLAS-9999.ebuild
index 36fcbbb79d32..604dc6976a0d 100644
--- a/sci-libs/rocBLAS/rocBLAS-9999.ebuild
+++ b/sci-libs/rocBLAS/rocBLAS-9999.ebuild
@@ -19,31 +19,33 @@ if [[ "${PV}" == 9999 ]] ; then
        EGIT_REPO_URI="https://github.com/ROCm/rocm-libraries.git";
        EGIT_BRANCH="develop"
        S="${WORKDIR}/${P}/projects/rocblas"
-       SLOT="0/7.0"
+       SLOT="0/9999"
+       SLOT_NOLIVE="0/7.0"
 else
        SRC_URI="https://github.com/ROCm/rocBLAS/archive/rocm-${PV}.tar.gz -> 
rocm-${P}.tar.gz"
        S="${WORKDIR}/${PN}-rocm-${PV}"
        SLOT="0/$(ver_cut 1-2)"
+       SLOT_NOLIVE=${SLOT}
        KEYWORDS="~amd64"
 fi
 
 LICENSE="MIT BSD"
-IUSE="benchmark hipblaslt roctracer test video_cards_amdgpu"
+IUSE="benchmark hipblaslt roctracer test"
 RESTRICT="!test? ( test )"
 REQUIRED_USE="${ROCM_REQUIRED_USE}"
 
 BDEPEND="
-       dev-build/rocm-cmake:${SLOT}
+       dev-build/rocm-cmake:${SLOT_NOLIVE}
 "
 
 RDEPEND="
-       dev-util/hip:${SLOT}
-       roctracer? ( dev-util/roctracer:${SLOT} )
-       hipblaslt? ( sci-libs/hipBLASLt:${SLOT} )
+       dev-util/hip:${SLOT_NOLIVE}
+       roctracer? ( dev-util/roctracer:${SLOT_NOLIVE} )
+       hipblaslt? ( sci-libs/hipBLASLt:${SLOT_NOLIVE} )
        benchmark? (
-               virtual/blas
                dev-cpp/gtest
                llvm-runtimes/openmp
+               sci-libs/flexiblas
        )
 "
 
@@ -51,22 +53,18 @@ DEPEND="
        ${RDEPEND}
        >=dev-cpp/msgpack-cxx-6.0.0
        test? (
-               virtual/blas
                dev-cpp/gtest
                llvm-runtimes/openmp
+               sci-libs/flexiblas
        )
-       video_cards_amdgpu? (
-               dev-util/Tensile:${SLOT}
-       )
+       dev-util/Tensile:${SLOT}
 "
 
 QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch
-       "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch
-       "${FILESDIR}"/${PN}-6.3.0-no-git.patch
-       "${FILESDIR}"/${PN}-7.0.1-find-cblas.patch
+       "${FILESDIR}"/${PN}-7.0.2-expand-isa-compatibility.patch
 )
 
 src_prepare() {
@@ -91,7 +89,7 @@ src_configure() {
                -DCMAKE_SKIP_RPATH=ON
                -DROCM_SYMLINK_LIBS=OFF
                -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-               -DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)"
+               -DBUILD_WITH_TENSILE=ON
                -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
                -DBUILD_CLIENTS_SAMPLES=OFF
                -DBUILD_CLIENTS_TESTS="$(usex test ON OFF)"
@@ -100,15 +98,16 @@ src_configure() {
                -DBUILD_WITH_HIPBLASLT="$(usex hipblaslt ON OFF)"
                -DROCBLAS_ENABLE_MARKER="$(usex roctracer ON OFF)"
                -DLINK_BLIS=OFF
-               -DTensile_CPU_THREADS=$(makeopts_jobs)
+               -DTensile_COMPILER="${CXX}"
+               -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
+               -DTensile_CPU_THREADS="$(makeopts_jobs)"
                -Wno-dev
        )
 
-       if usex video_cards_amdgpu; then
+       if use benchmark || use test; then
                mycmakeargs+=(
-                       -DTensile_COMPILER="hipcc"
-                       -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
-                       -DTensile_CPU_THREADS="$(makeopts_jobs)"
+                       -DBLA_PKGCONFIG_BLAS=ON
+                       -DBLA_VENDOR=FlexiBLAS
                )
        fi
 

Reply via email to