From 310c435396e2813173f737049d7342ffa73a1f0f Mon Sep 17 00:00:00 2001
From: Harmen Stoppels <me@harmenstoppels.nl>
Date: Mon, 1 Jul 2024 12:53:03 +0200
Subject: netlib-lapack: provide blas and lapack together (#44981)

If netlib-lapack is built with ~external-blas, it internally links
liblapack.so with libblas.so, meaning that whenever netlib-lapack is
used as a lapack provider, the package must also be a blas provider.

Conversely using netli-lapack as a blas provider does not imply that it
also must provide lapack, but nothing is lost disallowing that...
---
 var/spack/repos/builtin/packages/netlib-lapack/package.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py
index 2b6eb12fa1..be203f7aa0 100644
--- a/var/spack/repos/builtin/packages/netlib-lapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py
@@ -108,8 +108,9 @@ class NetlibLapack(CMakePackage):
     # https://github.com/Reference-LAPACK/lapack/pull/268
     patch("testing.patch", when="@3.7.0:3.8")
 
-    # virtual dependency
-    provides("blas", when="~external-blas")
+    # liblapack links to libblas, so if this package is used as a lapack
+    # provider, it must also provide blas.
+    provides("lapack", "blas", when="~external-blas")
     provides("lapack")
 
     depends_on("blas", when="+external-blas")
-- 
cgit v1.2.3-70-g09d2