diff --git a/virtual/cblas/cblas-3.8-r1.ebuild b/virtual/cblas/cblas-3.8-r1.ebuild
index 0e6a6cccd9010..fa10972bced34 100644
--- a/virtual/cblas/cblas-3.8-r1.ebuild
+++ b/virtual/cblas/cblas-3.8-r1.ebuild
@@ -6,12 +6,21 @@ EAPI="8"
DESCRIPTION="Virtual for BLAS C implementation"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="eselect-ldso index64"
+IUSE="eselect-ldso flexiblas index64"
+REQUIRED_USE="?? ( eselect-ldso flexiblas )"
RDEPEND="
- >=sci-libs/lapack-3.8.0[eselect-ldso?,index64(-)?]
- eselect-ldso? ( || (
- >=sci-libs/lapack-3.8.0[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
- sci-libs/blis[eselect-ldso] ) )
+ flexiblas? (
+ sci-libs/flexiblas[system-blas(-),index64(-)?]
+ )
+ !flexiblas? (
+ >=sci-libs/lapack-3.8[eselect-ldso?,-flexiblas(-),index64(-)?]
+ eselect-ldso? (
+ || (
+ >=sci-libs/lapack-3.8[eselect-ldso]
+ sci-libs/openblas[eselect-ldso]
+ sci-libs/blis[eselect-ldso]
+ )
+ )
+ )
"
diff --git a/virtual/cblas/metadata.xml b/virtual/cblas/metadata.xml
index 2b87d529e9ba2..660774543d299 100644
--- a/virtual/cblas/metadata.xml
+++ b/virtual/cblas/metadata.xml
@@ -7,6 +7,7 @@