summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorNichols A. Romero <naromero77@users.noreply.github.com>2018-08-18 11:26:17 -0500
committerAdam J. Stewart <ajstewart426@gmail.com>2018-08-18 11:26:17 -0500
commitf4ee07527cd855c49e0288fc99430f2342c7862a (patch)
tree2f89ad1862f9b8e1f36d28133961d5b33a91064a /var
parent412832159bfde08e66eb9c798f1f24cc0cea3d2e (diff)
downloadspack-f4ee07527cd855c49e0288fc99430f2342c7862a.tar.gz
spack-f4ee07527cd855c49e0288fc99430f2342c7862a.tar.bz2
spack-f4ee07527cd855c49e0288fc99430f2342c7862a.tar.xz
spack-f4ee07527cd855c49e0288fc99430f2342c7862a.zip
QMCPACK Spack Package Update (Summer 2018) (#9008)
* QMCPACK now supports QE 6.3. Dropped QE 5.3 due to incompatibilities. * QMCPACK general clean-up of depends_on. * Add QMCPACK 3.5.0 * More robust support of MKL detection in QMCPACK.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/qmcpack/package.py33
1 files changed, 21 insertions, 12 deletions
diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py
index 4caa10f8e3..7d364baa31 100644
--- a/var/spack/repos/builtin/packages/qmcpack/package.py
+++ b/var/spack/repos/builtin/packages/qmcpack/package.py
@@ -41,6 +41,7 @@ class Qmcpack(CMakePackage):
# can occasionally change.
# NOTE: 12/19/2017 QMCPACK 3.0.0 does not build properly with Spack.
version('develop')
+ version('3.5.0', tag='v3.5.0')
version('3.4.0', tag='v3.4.0')
version('3.3.0', tag='v3.3.0')
version('3.2.0', tag='v3.2.0')
@@ -68,7 +69,7 @@ class Qmcpack(CMakePackage):
variant('gui', default=False,
description='Install with Matplotlib (long installation time)')
variant('qe', default=True,
- description='Install with patched Quantum Espresso 5.3.0')
+ description='Install with patched Quantum Espresso 6.3.0')
# cuda variant implies mixed precision variant by default, but there is
# no way to express this in variant syntax, need something like
@@ -99,23 +100,25 @@ class Qmcpack(CMakePackage):
# qmcpack data analysis tools
# basic command line tool based on Python and NumPy
# blas and lapack patching fails often and so are disabled at this time
- depends_on('py-numpy~blas~lapack', type='run', when='+da')
+ depends_on('py-numpy~blas~lapack', when='+da', type='run')
# GUI is optional for data anlysis
# py-matplotlib leads to a long complex DAG for dependencies
- depends_on('py-matplotlib', type='run', when='+gui')
+ depends_on('py-matplotlib', when='+gui', type='run')
# B-spline basis calculation require a patched version of
- # Quantum Espresso 5.3.0 (see QMCPACK manual)
- patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/develop/external_codes/quantum_espresso/add_pw2qmcpack_to_espresso-5.3.0.diff'
- patch_checksum = '0d8d7ba805313ddd4c02ee32c96d2f12e7091e9e82e22671d3ad5a24247860c4'
- depends_on('quantum-espresso@5.3.0~elpa',
+ # Quantum Espresso 6.3 (see QMCPACK manual)
+ # Building explicitly without ELPA due to issues in Quantum Espresso
+ # Spack package
+ patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/develop/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.3.diff'
+ patch_checksum = '2ee346e24926479f5e96f8dc47812173a8847a58354bbc32cf2114af7a521c13'
+ depends_on('quantum-espresso@6.3~elpa+hdf5',
patches=patch(patch_url, sha256=patch_checksum, when='+qe'),
- when='+qe+mpi')
+ when='+qe+mpi', type='run')
- depends_on('quantum-espresso@5.3.0~elpa~scalapack~mpi',
+ depends_on('quantum-espresso@6.3~elpa~scalapack~mpi+hdf5',
patches=patch(patch_url, sha256=patch_checksum, when='+qe'),
- when='+qe~mpi')
+ when='+qe~mpi', type='run')
# Backport several patches from recent versions of QMCPACK
# The test_numerics unit test is broken prior to QMCPACK 3.3.0
@@ -221,10 +224,16 @@ class Qmcpack(CMakePackage):
])
# Additionally, we need to pass the BLAS+LAPACK include directory for
- # header files. Intel MKL requires special case due to differences in
- # Darwin vs. Linux $MKLROOT naming schemes
+ # header files. This is to insure vectorized math and FFT libraries
+ # get properly detected. Intel MKL requires special case due to
+ # differences in Darwin vs. Linux $MKLROOT naming schemes. This section
+ # of code is intentionally redundant for backwards compatibility.
if 'intel-mkl' in self.spec:
lapack_dir = format(join_path(env['MKLROOT'], 'include'))
+ # Next two lines were introduced in QMCPACK 3.5.0 and later.
+ # Prior to v3.5.0, these lines should be benign.
+ args.append('-DENABLE_MKL=1')
+ args.append('-DMKL_ROOT=%s' % env['MKLROOT'])
else:
lapack_dir = ':'.join((
spec['lapack'].prefix.include,