Skip to content
Snippets Groups Projects
Unverified Commit 8e6fe883 authored by Rémi Lacroix's avatar Rémi Lacroix Committed by GitHub
Browse files

Octopus: Add support for version 10.0. (#17782)

* Octopus: Add support for version 10.0.

Fix compilation when using the MKL as a provider for BLAS/LAPACK. Octopus will now detect that the MKL also provides the FFTW API and will refuse to compile when both the FFTW library and the MKL are given to the configure script.

* Octopus: Add supported version range for libxc.
parent b94a8377
No related branches found
No related tags found
No related merge requests found
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT) # SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import * from spack import *
import llnl.util.tty as tty
class Octopus(Package): class Octopus(Package):
...@@ -13,6 +14,7 @@ class Octopus(Package): ...@@ -13,6 +14,7 @@ class Octopus(Package):
homepage = "https://octopus-code.org/" homepage = "https://octopus-code.org/"
url = "http://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz" url = "http://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz"
version('10.0', sha256='ccf62200e3f37911bfff6d127ebe74220996e9c09383a10b1420c81d931dcf23')
version('7.3', sha256='ad843d49d4beeed63e8b9a2ca6bfb2f4c5a421f13a4f66dc7b02f6d6a5c4d742') version('7.3', sha256='ad843d49d4beeed63e8b9a2ca6bfb2f4c5a421f13a4f66dc7b02f6d6a5c4d742')
version('6.0', sha256='4a802ee86c1e06846aa7fa317bd2216c6170871632c9e03d020d7970a08a8198') version('6.0', sha256='4a802ee86c1e06846aa7fa317bd2216c6170871632c9e03d020d7970a08a8198')
version('5.0.1', sha256='3423049729e03f25512b1b315d9d62691cd0a6bd2722c7373a61d51bfbee14e0') version('5.0.1', sha256='3423049729e03f25512b1b315d9d62691cd0a6bd2722c7373a61d51bfbee14e0')
...@@ -31,9 +33,13 @@ class Octopus(Package): ...@@ -31,9 +33,13 @@ class Octopus(Package):
depends_on('blas') depends_on('blas')
depends_on('gsl@1.9:') depends_on('gsl@1.9:')
depends_on('lapack') depends_on('lapack')
depends_on('libxc') depends_on('libxc@2:2.99', when='@:5.99')
depends_on('libxc@2:3.99', when='@6:7.99')
depends_on('libxc@2:4.99', when='@8:9.99')
depends_on('libxc@3:5.0.0', when='@10.0')
depends_on('mpi') depends_on('mpi')
depends_on('fftw@3:+mpi+openmp') depends_on('fftw@3:+mpi+openmp', when='@:9.99')
depends_on('fftw-api@3:', when='@10.0:')
depends_on('metis@5:', when='+metis') depends_on('metis@5:', when='+metis')
depends_on('parmetis', when='+parmetis') depends_on('parmetis', when='+parmetis')
depends_on('scalapack', when='+scalapack') depends_on('scalapack', when='+scalapack')
...@@ -57,8 +63,25 @@ def install(self, spec, prefix): ...@@ -57,8 +63,25 @@ def install(self, spec, prefix):
'CC=%s' % spec['mpi'].mpicc, 'CC=%s' % spec['mpi'].mpicc,
'FC=%s' % spec['mpi'].mpifc, 'FC=%s' % spec['mpi'].mpifc,
'--enable-mpi', '--enable-mpi',
'--with-fftw-prefix==%s' % spec['fftw'].prefix,
]) ])
if '^fftw' in spec:
args.extend([
'--with-fftw-prefix=%s' % spec['fftw'].prefix,
])
elif '^mkl' in spec:
# As of version 10.0, Octopus depends on fftw-api instead
# of FFTW. If FFTW is not in the dependency tree, then
# it ought to be MKL as it is currently the only providers
# available for fftw-api.
args.extend([
'FCFLAGS_FFTW=-I%s' % spec['mkl'].prefix.include.fftw
])
else:
# To be foolproof, fail with a proper error message
# if neither FFTW nor MKL are in the dependency tree.
tty.die('Unsupported "fftw-api" provider, '
'currently only FFTW and MKL are supported.\n'
"Please report this issue on Spack's repository.")
if '+metis' in spec: if '+metis' in spec:
args.extend([ args.extend([
'--with-metis-prefix=%s' % spec['metis'].prefix, '--with-metis-prefix=%s' % spec['metis'].prefix,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment