From ad0b70a64a4f84825df9bd231f94b1b4e9ec1ffe Mon Sep 17 00:00:00 2001
From: Fabien Bruneval <bruneval@users.noreply.github.com>
Date: Fri, 28 Jul 2023 14:30:27 +0200
Subject: [PATCH] MOLGW package: fix dependence to threaded MKL (#39028)

* molgw package.py

* molgw package.py almost ready

* bug fix in molgw package.py

* MOLGW v3.2

* black pass

* duplicated line eliminated

* remove FIXME in the header

* add me as a maintainer

* fix previous commit

* sort the imports in the order spack wants

* chop the too-long lines

* many fixes

- variants before dependences
- eliminate useless build and install stages
- no openmp with intel-mkl was broken

* after blackization

* cleaning

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* use threaded mkl when openmp is triggered

---------

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
---
 var/spack/repos/builtin/packages/molgw/package.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/var/spack/repos/builtin/packages/molgw/package.py b/var/spack/repos/builtin/packages/molgw/package.py
index a0f07aca2a..17e5283c92 100644
--- a/var/spack/repos/builtin/packages/molgw/package.py
+++ b/var/spack/repos/builtin/packages/molgw/package.py
@@ -39,6 +39,8 @@ class Molgw(MakefilePackage):
 
     # enforce scalapack-capable mkl when asking +scalapack (and using intel-oneapi-mkl)
     depends_on("intel-oneapi-mkl+cluster", when="+scalapack ^intel-oneapi-mkl")
+    # enforce threaded mkl when asking +openmp (and using intel-oneapi-mkl)
+    depends_on("intel-oneapi-mkl threads=openmp", when="+openmp ^intel-oneapi-mkl")
     # enforce threaded openblas when asking +openmp (and using openblas)
     depends_on("openblas threads=openmp", when="+openmp ^openblas")
 
-- 
GitLab