espresso: add 6.1.0 (#3881)
* espresso: fix missing dependency on elpa, add 6.1.0 * override default libs of elpa to get shared always
This commit is contained in:
parent
13911f1b46
commit
eaefaaba5b
@ -32,7 +32,8 @@ class Elpa(AutotoolsPackage):
|
|||||||
homepage = 'http://elpa.mpcdf.mpg.de/'
|
homepage = 'http://elpa.mpcdf.mpg.de/'
|
||||||
url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
|
url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
|
||||||
|
|
||||||
version('2016.05.004', 'c0dd3a53055536fc3a2a221e78d8b376')
|
version('2016.11.001.pre', '5656fd066cf0dcd071dbcaf20a639b37')
|
||||||
|
version('2016.05.004', 'c0dd3a53055536fc3a2a221e78d8b376', preferred=True)
|
||||||
version('2016.05.003', '88a9f3f3bfb63e16509dd1be089dcf2c')
|
version('2016.05.003', '88a9f3f3bfb63e16509dd1be089dcf2c')
|
||||||
version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6')
|
version('2015.11.001', 'de0f35b7ee7c971fd0dca35c900b87e6')
|
||||||
|
|
||||||
@ -49,8 +50,18 @@ def url_for_version(self, version):
|
|||||||
t = 'http://elpa.mpcdf.mpg.de/elpa-{0}.tar.gz'
|
t = 'http://elpa.mpcdf.mpg.de/elpa-{0}.tar.gz'
|
||||||
return t.format(str(version))
|
return t.format(str(version))
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
# override default implementation which returns static lib
|
||||||
|
@property
|
||||||
|
def libs(self):
|
||||||
|
return find_libraries(
|
||||||
|
['libelpa'], root=self.prefix, shared=True, recurse=True
|
||||||
|
)
|
||||||
|
|
||||||
|
build_directory = 'spack-build'
|
||||||
|
|
||||||
|
def setup_environment(self, spack_env, run_env):
|
||||||
|
# TODO: set optimum flags for platform+compiler combo, see
|
||||||
|
# https://github.com/hfp/xconfigure/tree/master/elpa
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
|
|
||||||
spack_env.set('CC', spec['mpi'].mpicc)
|
spack_env.set('CC', spec['mpi'].mpicc)
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
from spack import *
|
||||||
import os
|
import os
|
||||||
|
from glob import glob
|
||||||
|
|
||||||
|
|
||||||
class Espresso(Package):
|
class Espresso(Package):
|
||||||
@ -36,6 +37,12 @@ class Espresso(Package):
|
|||||||
homepage = 'http://quantum-espresso.org'
|
homepage = 'http://quantum-espresso.org'
|
||||||
url = 'http://www.qe-forge.org/gf/download/frsrelease/204/912/espresso-5.3.0.tar.gz'
|
url = 'http://www.qe-forge.org/gf/download/frsrelease/204/912/espresso-5.3.0.tar.gz'
|
||||||
|
|
||||||
|
version(
|
||||||
|
'6.1.0',
|
||||||
|
'db398edcad76e085f8c8a3f6ecb7aaab',
|
||||||
|
url='http://www.qe-forge.org/gf/download/frsrelease/240/1075/qe-6.1.tar.gz'
|
||||||
|
)
|
||||||
|
|
||||||
version(
|
version(
|
||||||
'5.4.0',
|
'5.4.0',
|
||||||
'8bb78181b39bd084ae5cb7a512c1cfe7',
|
'8bb78181b39bd084ae5cb7a512c1cfe7',
|
||||||
@ -56,9 +63,10 @@ class Espresso(Package):
|
|||||||
depends_on('fftw+mpi', when='+mpi')
|
depends_on('fftw+mpi', when='+mpi')
|
||||||
# TODO : + mpi needed to avoid false dependencies installation
|
# TODO : + mpi needed to avoid false dependencies installation
|
||||||
depends_on('scalapack', when='+scalapack+mpi')
|
depends_on('scalapack', when='+scalapack+mpi')
|
||||||
|
depends_on('elpa@2016.11.001.pre', when='@6.1.0+elpa')
|
||||||
|
|
||||||
# Spurious problems running in parallel the Makefile
|
# Spurious problems running in parallel the Makefile
|
||||||
# generated by qe configure
|
# generated by the configure
|
||||||
parallel = False
|
parallel = False
|
||||||
|
|
||||||
def check_variants(self, spec):
|
def check_variants(self, spec):
|
||||||
@ -69,10 +77,12 @@ def check_variants(self, spec):
|
|||||||
raise RuntimeError(error.format(variant='elpa'))
|
raise RuntimeError(error.format(variant='elpa'))
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
from glob import glob
|
|
||||||
self.check_variants(spec)
|
self.check_variants(spec)
|
||||||
|
|
||||||
options = ['-prefix=%s' % prefix.bin]
|
options = [
|
||||||
|
'-prefix=%s' % (prefix.bin if spec.satisfies('@:5.4.0') else
|
||||||
|
prefix)
|
||||||
|
]
|
||||||
|
|
||||||
if '+mpi' in spec:
|
if '+mpi' in spec:
|
||||||
options.append('--enable-parallel')
|
options.append('--enable-parallel')
|
||||||
@ -84,7 +94,18 @@ def install(self, spec, prefix):
|
|||||||
options.append('--with-scalapack=yes')
|
options.append('--with-scalapack=yes')
|
||||||
|
|
||||||
if '+elpa' in spec:
|
if '+elpa' in spec:
|
||||||
|
if spec.satisfies('@:5.4.0'):
|
||||||
options.append('--with-elpa=yes')
|
options.append('--with-elpa=yes')
|
||||||
|
else:
|
||||||
|
options.extend([
|
||||||
|
'--with-elpa-include={0}'.format(
|
||||||
|
join_path(spec['elpa'].prefix,
|
||||||
|
'include',
|
||||||
|
'elpa-{0}'.format(str(spec['elpa'].version)),
|
||||||
|
'modules')
|
||||||
|
),
|
||||||
|
'--with-elpa-lib={0}'.format(spec['elpa'].libs.joined())
|
||||||
|
])
|
||||||
|
|
||||||
# Add a list of directories to search
|
# Add a list of directories to search
|
||||||
search_list = []
|
search_list = []
|
||||||
|
Loading…
Reference in New Issue
Block a user