Chai, LvArray, Umpire and py-scipy: update versions, variants, and or more (#23488)
* LvArray update. * Style changes. * Addressing PR comments. * Bound scipy clang patch. * Umpire an CHAI boolean fix. * Changed lvarray python dependency types.
This commit is contained in:
parent
b120b51605
commit
2b78b04dc5
@ -14,20 +14,23 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
homepage = "https://github.com/LLNL/CHAI"
|
homepage = "https://github.com/LLNL/CHAI"
|
||||||
git = "https://github.com/LLNL/CHAI.git"
|
git = "https://github.com/LLNL/CHAI.git"
|
||||||
|
|
||||||
version('develop', branch='develop', submodules='True')
|
version('develop', branch='develop', submodules=True)
|
||||||
version('master', branch='main', submodules='True')
|
version('master', branch='main', submodules=True)
|
||||||
version('2.3.0', tag='v2.3.0', submodules='True')
|
version('2.3.0', tag='v2.3.0', submodules=True)
|
||||||
version('2.1.1', tag='v2.1.1', submodules='True')
|
version('2.2.2', tag='v2.2.2', submodules=True)
|
||||||
version('2.1.0', tag='v2.1.0', submodules='True')
|
version('2.2.1', tag='v2.2.1', submodules=True)
|
||||||
version('2.0.0', tag='v2.0.0', submodules='True')
|
version('2.2.0', tag='v2.2.0', submodules=True)
|
||||||
version('1.2.0', tag='v1.2.0', submodules='True')
|
version('2.1.1', tag='v2.1.1', submodules=True)
|
||||||
version('1.1.0', tag='v1.1.0', submodules='True')
|
version('2.1.0', tag='v2.1.0', submodules=True)
|
||||||
version('1.0', tag='v1.0', submodules='True')
|
version('2.0.0', tag='v2.0.0', submodules=True)
|
||||||
|
version('1.2.0', tag='v1.2.0', submodules=True)
|
||||||
|
version('1.1.0', tag='v1.1.0', submodules=True)
|
||||||
|
version('1.0', tag='v1.0', submodules=True)
|
||||||
|
|
||||||
variant('enable_pick', default=False, description='Enable pick method')
|
variant('enable_pick', default=False, description='Enable pick method')
|
||||||
variant('shared', default=True, description='Build Shared Libs')
|
variant('shared', default=True, description='Build Shared Libs')
|
||||||
variant('raja', default=False, description='Build plugin for RAJA')
|
variant('raja', default=False, description='Build plugin for RAJA')
|
||||||
variant('benchmarks', default=True, description='Build benchmarks.')
|
variant('benchmarks', default=False, description='Build benchmarks.')
|
||||||
variant('examples', default=True, description='Build examples.')
|
variant('examples', default=True, description='Build examples.')
|
||||||
# TODO: figure out gtest dependency and then set this default True
|
# TODO: figure out gtest dependency and then set this default True
|
||||||
# and remove the +tests conflict below.
|
# and remove the +tests conflict below.
|
||||||
@ -104,4 +107,7 @@ def cmake_args(self):
|
|||||||
|
|
||||||
options.append(self.define_from_variant('ENABLE_EXAMPLES', 'examples'))
|
options.append(self.define_from_variant('ENABLE_EXAMPLES', 'examples'))
|
||||||
|
|
||||||
|
options.append('-DENABLE_BENCHMARKS={0}'.format(
|
||||||
|
'ON' if '+benchmarks' in spec else 'OFF'))
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
@ -38,14 +38,18 @@ class Lvarray(CMakePackage, CudaPackage):
|
|||||||
homepage = "https://github.com/GEOSX/lvarray"
|
homepage = "https://github.com/GEOSX/lvarray"
|
||||||
git = "https://github.com/GEOSX/LvArray.git"
|
git = "https://github.com/GEOSX/LvArray.git"
|
||||||
|
|
||||||
version('develop', branch='develop', submodules='True')
|
maintainers = ['corbett5']
|
||||||
version('main', branch='main', submodules='True')
|
|
||||||
version('0.1.0', tag='v0.1.0', submodules='True')
|
version('develop', branch='develop', submodules=False)
|
||||||
|
version('main', branch='main', submodules=False)
|
||||||
|
version('0.2.1', tag='v0.2.1', submodules=False)
|
||||||
|
version('0.1.0', tag='v0.1.0', submodules=True)
|
||||||
|
|
||||||
variant('shared', default=True, description='Build Shared Libs')
|
variant('shared', default=True, description='Build Shared Libs')
|
||||||
variant('umpire', default=False, description='Build Umpire support')
|
variant('umpire', default=False, description='Build Umpire support')
|
||||||
variant('chai', default=False, description='Build Chai support')
|
variant('chai', default=False, description='Build Chai support')
|
||||||
variant('caliper', default=False, description='Build Caliper support')
|
variant('caliper', default=False, description='Build Caliper support')
|
||||||
|
variant('pylvarray', default=False, description='Build Python support')
|
||||||
variant('tests', default=True, description='Build tests')
|
variant('tests', default=True, description='Build tests')
|
||||||
variant('benchmarks', default=False, description='Build benchmarks')
|
variant('benchmarks', default=False, description='Build benchmarks')
|
||||||
variant('examples', default=False, description='Build examples')
|
variant('examples', default=False, description='Build examples')
|
||||||
@ -53,20 +57,27 @@ class Lvarray(CMakePackage, CudaPackage):
|
|||||||
variant('addr2line', default=True,
|
variant('addr2line', default=True,
|
||||||
description='Build support for addr2line.')
|
description='Build support for addr2line.')
|
||||||
|
|
||||||
depends_on('cmake@3.8:', type='build')
|
depends_on('blt', when='@0.2.0:', type='build')
|
||||||
depends_on('cmake@3.9:', when='+cuda', type='build')
|
|
||||||
|
depends_on('camp')
|
||||||
|
depends_on('camp+cuda', when='+cuda')
|
||||||
|
|
||||||
depends_on('raja')
|
depends_on('raja')
|
||||||
depends_on('raja+cuda', when='+cuda')
|
depends_on('raja+cuda', when='+cuda')
|
||||||
|
|
||||||
|
# At the moment Umpire doesn't support shared when building with CUDA.
|
||||||
depends_on('umpire', when='+umpire')
|
depends_on('umpire', when='+umpire')
|
||||||
depends_on('umpire+cuda', when='+umpire+cuda')
|
depends_on('umpire+cuda~shared', when='+umpire+cuda')
|
||||||
|
|
||||||
depends_on('chai+raja', when='+chai')
|
depends_on('chai+raja', when='+chai')
|
||||||
depends_on('chai+raja+cuda', when='+chai+cuda')
|
depends_on('chai+raja+cuda', when='+chai+cuda')
|
||||||
|
|
||||||
depends_on('caliper', when='+caliper')
|
depends_on('caliper', when='+caliper')
|
||||||
|
|
||||||
|
depends_on('python +shared +pic', type=('build', 'link', 'run'), when='+pylvarray')
|
||||||
|
depends_on('py-numpy@1.19:', type=('build', 'link', 'run'), when='+pylvarray')
|
||||||
|
depends_on('py-scipy@1.5.2:', type=('build', 'run'), when='+pylvarray')
|
||||||
|
|
||||||
depends_on('doxygen@1.8.13:', when='+docs', type='build')
|
depends_on('doxygen@1.8.13:', when='+docs', type='build')
|
||||||
depends_on('py-sphinx@1.6.3:', when='+docs', type='build')
|
depends_on('py-sphinx@1.6.3:', when='+docs', type='build')
|
||||||
|
|
||||||
@ -112,16 +123,13 @@ def hostconfig(self, spec, prefix, py_site_pkgs_dir=None):
|
|||||||
"""
|
"""
|
||||||
This method creates a 'host-config' file that specifies
|
This method creates a 'host-config' file that specifies
|
||||||
all of the options used to configure and build Umpire.
|
all of the options used to configure and build Umpire.
|
||||||
|
|
||||||
For more details about 'host-config' files see:
|
For more details about 'host-config' files see:
|
||||||
http://software.llnl.gov/conduit/building.html
|
http://software.llnl.gov/conduit/building.html
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
The `py_site_pkgs_dir` arg exists to allow a package that
|
The `py_site_pkgs_dir` arg exists to allow a package that
|
||||||
subclasses this package provide a specific site packages
|
subclasses this package provide a specific site packages
|
||||||
dir when calling this function. `py_site_pkgs_dir` should
|
dir when calling this function. `py_site_pkgs_dir` should
|
||||||
be an absolute path or `None`.
|
be an absolute path or `None`.
|
||||||
|
|
||||||
This is necessary because the spack `site_packages_dir`
|
This is necessary because the spack `site_packages_dir`
|
||||||
var will not exist in the base class. For more details
|
var will not exist in the base class. For more details
|
||||||
on this issue see: https://github.com/spack/spack/issues/6261
|
on this issue see: https://github.com/spack/spack/issues/6261
|
||||||
@ -149,153 +157,180 @@ def hostconfig(self, spec, prefix, py_site_pkgs_dir=None):
|
|||||||
cmake_exe = os.path.realpath(cmake_exe)
|
cmake_exe = os.path.realpath(cmake_exe)
|
||||||
|
|
||||||
host_config_path = self._get_host_config_path(spec)
|
host_config_path = self._get_host_config_path(spec)
|
||||||
cfg = open(host_config_path, "w")
|
with open(host_config_path, "w") as cfg:
|
||||||
cfg.write("#{0}\n".format("#" * 80))
|
cfg.write("#{0}\n".format("#" * 80))
|
||||||
cfg.write("# Generated host-config - Edit at own risk!\n")
|
cfg.write("# Generated host-config - Edit at own risk!\n")
|
||||||
cfg.write("#{0}\n".format("#" * 80))
|
cfg.write("#{0}\n".format("#" * 80))
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
|
||||||
cfg.write("# SYS_TYPE: {0}\n".format(sys_type))
|
|
||||||
cfg.write("# Compiler Spec: {0}\n".format(spec.compiler))
|
|
||||||
cfg.write("# CMake executable path: %s\n" % cmake_exe)
|
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
|
||||||
|
|
||||||
#######################
|
|
||||||
# Compiler Settings
|
|
||||||
#######################
|
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
|
||||||
cfg.write("# Compilers\n")
|
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
|
||||||
cfg.write(cmake_cache_entry("CMAKE_C_COMPILER", c_compiler))
|
|
||||||
cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
|
|
||||||
|
|
||||||
# use global spack compiler flags
|
|
||||||
cflags = ' '.join(spec.compiler_flags['cflags'])
|
|
||||||
if cflags:
|
|
||||||
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
|
|
||||||
|
|
||||||
cxxflags = ' '.join(spec.compiler_flags['cxxflags'])
|
|
||||||
if cxxflags:
|
|
||||||
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
|
|
||||||
|
|
||||||
release_flags = "-O3 -DNDEBUG"
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE",
|
|
||||||
release_flags))
|
|
||||||
reldebinf_flags = "-O3 -g -DNDEBUG"
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELWITHDEBINFO",
|
|
||||||
reldebinf_flags))
|
|
||||||
debug_flags = "-O0 -g"
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags))
|
|
||||||
|
|
||||||
if "+cuda" in spec:
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
cfg.write("# Cuda\n")
|
cfg.write("# SYS_TYPE: {0}\n".format(sys_type))
|
||||||
|
cfg.write("# Compiler Spec: {0}\n".format(spec.compiler))
|
||||||
|
cfg.write("# CMake executable path: %s\n" % cmake_exe)
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
cfg.write(cmake_cache_option("ENABLE_CUDA", True))
|
if 'blt' in spec:
|
||||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_STANDARD", 14))
|
cfg.write(cmake_cache_entry('BLT_SOURCE_DIR', spec['blt'].prefix))
|
||||||
|
|
||||||
cudatoolkitdir = spec['cuda'].prefix
|
#######################
|
||||||
cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR",
|
# Compiler Settings
|
||||||
cudatoolkitdir))
|
#######################
|
||||||
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
|
|
||||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_COMPILER", cudacompiler))
|
|
||||||
|
|
||||||
cmake_cuda_flags = ('-restrict --expt-extended-lambda -Werror '
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
'cross-execution-space-call,reorder,'
|
cfg.write("# Compilers\n")
|
||||||
'deprecated-declarations')
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
cfg.write(cmake_cache_entry("CMAKE_C_COMPILER", c_compiler))
|
||||||
|
cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
|
||||||
|
|
||||||
archSpecifiers = ("-mtune", "-mcpu", "-march", "-qtune", "-qarch")
|
# use global spack compiler flags
|
||||||
for archSpecifier in archSpecifiers:
|
cflags = ' '.join(spec.compiler_flags['cflags'])
|
||||||
for compilerArg in spec.compiler_flags['cxxflags']:
|
cxxflags = ' '.join(spec.compiler_flags['cxxflags'])
|
||||||
if compilerArg.startswith(archSpecifier):
|
|
||||||
cmake_cuda_flags += ' -Xcompiler ' + compilerArg
|
|
||||||
|
|
||||||
if not spec.satisfies('cuda_arch=none'):
|
if "%intel" in spec:
|
||||||
cuda_arch = spec.variants['cuda_arch'].value
|
cflags += ' -qoverride-limits'
|
||||||
cmake_cuda_flags += ' -arch sm_{0}'.format(cuda_arch[0])
|
cxxflags += ' -qoverride-limits'
|
||||||
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS", cmake_cuda_flags))
|
if cflags:
|
||||||
|
cfg.write(cmake_cache_entry("CMAKE_C_FLAGS", cflags))
|
||||||
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELEASE",
|
if cxxflags:
|
||||||
"-O3 -Xcompiler -O3 -DNDEBUG"))
|
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
|
||||||
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELWITHDEBINFO",
|
|
||||||
"-O3 -g -lineinfo -Xcompiler -O3"))
|
|
||||||
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_DEBUG",
|
|
||||||
"-O0 -Xcompiler -O0 -g -G"))
|
|
||||||
|
|
||||||
else:
|
release_flags = "-O3 -DNDEBUG"
|
||||||
cfg.write(cmake_cache_option("ENABLE_CUDA", False))
|
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE",
|
||||||
|
release_flags))
|
||||||
|
reldebinf_flags = "-O3 -g -DNDEBUG"
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_RELWITHDEBINFO",
|
||||||
|
reldebinf_flags))
|
||||||
|
debug_flags = "-O0 -g"
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CXX_FLAGS_DEBUG", debug_flags))
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
if "%clang arch=linux-rhel7-ppc64le" in spec:
|
||||||
cfg.write("# RAJA\n")
|
cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS",
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
"-Wl,--no-toc-optimize"))
|
||||||
|
|
||||||
raja_dir = spec['raja'].prefix
|
if "+cuda" in spec:
|
||||||
cfg.write(cmake_cache_entry("RAJA_DIR", raja_dir))
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# Cuda\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cfg.write(cmake_cache_option("ENABLE_CUDA", True))
|
||||||
cfg.write("# Umpire\n")
|
cfg.write(cmake_cache_entry("CMAKE_CUDA_STANDARD", 14))
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
|
||||||
|
|
||||||
if "+umpire" in spec:
|
cudatoolkitdir = spec['cuda'].prefix
|
||||||
cfg.write(cmake_cache_option("ENABLE_UMPIRE", True))
|
cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR",
|
||||||
umpire_dir = spec['umpire'].prefix
|
cudatoolkitdir))
|
||||||
cfg.write(cmake_cache_entry("UMPIRE_DIR", umpire_dir))
|
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
|
||||||
else:
|
cfg.write(cmake_cache_entry("CMAKE_CUDA_COMPILER", cudacompiler))
|
||||||
cfg.write(cmake_cache_option("ENABLE_UMPIRE", False))
|
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cmake_cuda_flags = ('-restrict --expt-extended-lambda -Werror '
|
||||||
cfg.write("# CHAI\n")
|
'cross-execution-space-call,reorder,'
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
'deprecated-declarations')
|
||||||
|
|
||||||
if "+chai" in spec:
|
archSpecifiers = ("-mtune", "-mcpu", "-march", "-qtune", "-qarch")
|
||||||
cfg.write(cmake_cache_option("ENABLE_CHAI", True))
|
for archSpecifier in archSpecifiers:
|
||||||
chai_dir = spec['chai'].prefix
|
for compilerArg in spec.compiler_flags['cxxflags']:
|
||||||
cfg.write(cmake_cache_entry("CHAI_DIR", chai_dir))
|
if compilerArg.startswith(archSpecifier):
|
||||||
else:
|
cmake_cuda_flags += ' -Xcompiler ' + compilerArg
|
||||||
cfg.write(cmake_cache_option("ENABLE_CHAI", False))
|
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
if not spec.satisfies('cuda_arch=none'):
|
||||||
cfg.write("# Caliper\n")
|
cuda_arch = spec.variants['cuda_arch'].value
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
cmake_cuda_flags += ' -arch sm_{0}'.format(cuda_arch[0])
|
||||||
|
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS", cmake_cuda_flags))
|
||||||
|
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELEASE",
|
||||||
|
"-O3 -Xcompiler -O3 -DNDEBUG"))
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_RELWITHDEBINFO",
|
||||||
|
"-O3 -g -lineinfo -Xcompiler -O3"))
|
||||||
|
cfg.write(cmake_cache_string("CMAKE_CUDA_FLAGS_DEBUG",
|
||||||
|
"-O0 -Xcompiler -O0 -g -G"))
|
||||||
|
|
||||||
|
else:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_CUDA", False))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# CAMP\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
|
cfg.write(cmake_cache_entry("CAMP_DIR", spec['camp'].prefix))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# RAJA\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
|
cfg.write(cmake_cache_entry("RAJA_DIR", spec['raja'].prefix))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# Umpire\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
|
if "+umpire" in spec:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_UMPIRE", True))
|
||||||
|
cfg.write(cmake_cache_entry("UMPIRE_DIR", spec['umpire'].prefix))
|
||||||
|
else:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_UMPIRE", False))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# CHAI\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
|
if "+chai" in spec:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_CHAI", True))
|
||||||
|
cfg.write(cmake_cache_entry("CHAI_DIR", spec['chai'].prefix))
|
||||||
|
else:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_CHAI", False))
|
||||||
|
|
||||||
if "+caliper" in spec:
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
cfg.write("# Caliper\n")
|
cfg.write("# Caliper\n")
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", True))
|
if "+caliper" in spec:
|
||||||
caliper_dir = spec['caliper'].prefix
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
cfg.write(cmake_cache_entry("CALIPER_DIR", caliper_dir))
|
cfg.write("# Caliper\n")
|
||||||
else:
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", False))
|
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cfg.write(cmake_cache_option("ENABLE_CALIPER", True))
|
||||||
cfg.write("# Documentation\n")
|
cfg.write(cmake_cache_entry("CALIPER_DIR", spec['caliper'].prefix))
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
else:
|
||||||
if "+docs" in spec:
|
cfg.write(cmake_cache_option("ENABLE_CALIPER", False))
|
||||||
sphinx_dir = spec['py-sphinx'].prefix
|
|
||||||
cfg.write(cmake_cache_string('SPHINX_EXECUTABLE',
|
|
||||||
os.path.join(sphinx_dir,
|
|
||||||
'bin',
|
|
||||||
'sphinx-build')))
|
|
||||||
|
|
||||||
doxygen_dir = spec['doxygen'].prefix
|
cfg.write('#{0}\n'.format('-' * 80))
|
||||||
cfg.write(cmake_cache_string('DOXYGEN_EXECUTABLE',
|
cfg.write('# Python\n')
|
||||||
os.path.join(doxygen_dir,
|
cfg.write('#{0}\n\n'.format('-' * 80))
|
||||||
'bin',
|
if '+pylvarray' in spec:
|
||||||
'doxygen')))
|
cfg.write(cmake_cache_option('ENABLE_PYLVARRAY', True))
|
||||||
|
python_exe = os.path.join(spec['python'].prefix.bin, 'python3')
|
||||||
|
cfg.write(cmake_cache_entry('Python3_EXECUTABLE', python_exe))
|
||||||
|
else:
|
||||||
|
cfg.write(cmake_cache_option('ENABLE_PYLVARRAY', False))
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
cfg.write("# addr2line\n")
|
cfg.write("# Documentation\n")
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
cfg.write(cmake_cache_option('ENABLE_ADDR2LINE', '+addr2line' in spec))
|
if "+docs" in spec:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_DOCS", True))
|
||||||
|
sphinx_dir = spec['py-sphinx'].prefix
|
||||||
|
cfg.write(cmake_cache_string('SPHINX_EXECUTABLE',
|
||||||
|
os.path.join(sphinx_dir,
|
||||||
|
'bin',
|
||||||
|
'sphinx-build')))
|
||||||
|
|
||||||
cfg.write("#{0}\n".format("-" * 80))
|
doxygen_dir = spec['doxygen'].prefix
|
||||||
cfg.write("# Other\n")
|
cfg.write(cmake_cache_string('DOXYGEN_EXECUTABLE',
|
||||||
cfg.write("#{0}\n\n".format("-" * 80))
|
os.path.join(doxygen_dir,
|
||||||
|
'bin',
|
||||||
|
'doxygen')))
|
||||||
|
else:
|
||||||
|
cfg.write(cmake_cache_option("ENABLE_DOCS", False))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# addr2line\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
cfg.write(cmake_cache_option('ENABLE_ADDR2LINE', '+addr2line' in spec))
|
||||||
|
|
||||||
|
cfg.write("#{0}\n".format("-" * 80))
|
||||||
|
cfg.write("# Other\n")
|
||||||
|
cfg.write("#{0}\n\n".format("-" * 80))
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
|
@ -75,6 +75,8 @@ class PyScipy(PythonPackage):
|
|||||||
patch('https://git.sagemath.org/sage.git/plain/build/pkgs/scipy/patches/extern_decls.patch?id=711fe05025795e44b84233e065d240859ccae5bd',
|
patch('https://git.sagemath.org/sage.git/plain/build/pkgs/scipy/patches/extern_decls.patch?id=711fe05025795e44b84233e065d240859ccae5bd',
|
||||||
sha256='5433f60831cb554101520a8f8871ac5a32c95f7a971ccd68b69049535b106780', when='@1.2:1.5.3')
|
sha256='5433f60831cb554101520a8f8871ac5a32c95f7a971ccd68b69049535b106780', when='@1.2:1.5.3')
|
||||||
|
|
||||||
|
patch('scipy-clang.patch', when='@1.5.0:1.6.3 %clang')
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
# https://github.com/scipy/scipy/issues/9080
|
# https://github.com/scipy/scipy/issues/9080
|
||||||
env.set('F90', spack_fc)
|
env.set('F90', spack_fc)
|
||||||
|
13
var/spack/repos/builtin/packages/py-scipy/scipy-clang.patch
Normal file
13
var/spack/repos/builtin/packages/py-scipy/scipy-clang.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/scipy/special/_faddeeva.cxx b/scipy/special/_faddeeva.cxx
|
||||||
|
index 9134516..159122c 100644
|
||||||
|
--- a/scipy/special/_faddeeva.cxx
|
||||||
|
+++ b/scipy/special/_faddeeva.cxx
|
||||||
|
@@ -130,7 +130,7 @@ double faddeeva_voigt_profile(double x, double sigma, double gamma)
|
||||||
|
|
||||||
|
if(sigma == 0){
|
||||||
|
if (gamma == 0){
|
||||||
|
- if (isnan(x))
|
||||||
|
+ if (std::isnan(x))
|
||||||
|
return x;
|
||||||
|
if (x == 0)
|
||||||
|
return NPY_INFINITY;
|
@ -17,35 +17,36 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
|
|
||||||
maintainers = ['davidbeckingsale']
|
maintainers = ['davidbeckingsale']
|
||||||
|
|
||||||
version('develop', branch='develop', submodules='True')
|
version('develop', branch='develop', submodules=True)
|
||||||
version('main', branch='main', submodules='True')
|
version('main', branch='main', submodules=True)
|
||||||
version('4.1.2', tag='v4.1.2', submodules='True')
|
version('5.0.0', tag='v5.0.0', submodules=True)
|
||||||
version('4.1.1', tag='v4.1.1', submodules='True')
|
version('4.1.2', tag='v4.1.2', submodules=True)
|
||||||
version('4.1.0', tag='v4.1.0', submodules='True')
|
version('4.1.1', tag='v4.1.1', submodules=True)
|
||||||
version('4.0.1', tag='v4.0.1', submodules='True')
|
version('4.1.0', tag='v4.1.0', submodules=True)
|
||||||
version('4.0.0', tag='v4.0.0', submodules='True')
|
version('4.0.1', tag='v4.0.1', submodules=True)
|
||||||
version('3.0.0', tag='v3.0.0', submodules='True')
|
version('4.0.0', tag='v4.0.0', submodules=True)
|
||||||
version('2.1.0', tag='v2.1.0', submodules='True')
|
version('3.0.0', tag='v3.0.0', submodules=True)
|
||||||
version('2.0.0', tag='v2.0.0', submodules='True')
|
version('2.1.0', tag='v2.1.0', submodules=True)
|
||||||
version('1.1.0', tag='v1.1.0', submodules='True')
|
version('2.0.0', tag='v2.0.0', submodules=True)
|
||||||
version('1.0.1', tag='v1.0.1', submodules='True')
|
version('1.1.0', tag='v1.1.0', submodules=True)
|
||||||
version('1.0.0', tag='v1.0.0', submodules='True')
|
version('1.0.1', tag='v1.0.1', submodules=True)
|
||||||
version('0.3.5', tag='v0.3.5', submodules='True')
|
version('1.0.0', tag='v1.0.0', submodules=True)
|
||||||
version('0.3.4', tag='v0.3.4', submodules='True')
|
version('0.3.5', tag='v0.3.5', submodules=True)
|
||||||
version('0.3.3', tag='v0.3.3', submodules='True')
|
version('0.3.4', tag='v0.3.4', submodules=True)
|
||||||
version('0.3.2', tag='v0.3.2', submodules='True')
|
version('0.3.3', tag='v0.3.3', submodules=True)
|
||||||
version('0.3.1', tag='v0.3.1', submodules='True')
|
version('0.3.2', tag='v0.3.2', submodules=True)
|
||||||
version('0.3.0', tag='v0.3.0', submodules='True')
|
version('0.3.1', tag='v0.3.1', submodules=True)
|
||||||
version('0.2.4', tag='v0.2.4', submodules='True')
|
version('0.3.0', tag='v0.3.0', submodules=True)
|
||||||
version('0.2.3', tag='v0.2.3', submodules='True')
|
version('0.2.4', tag='v0.2.4', submodules=True)
|
||||||
version('0.2.2', tag='v0.2.2', submodules='True')
|
version('0.2.3', tag='v0.2.3', submodules=True)
|
||||||
version('0.2.1', tag='v0.2.1', submodules='True')
|
version('0.2.2', tag='v0.2.2', submodules=True)
|
||||||
version('0.2.0', tag='v0.2.0', submodules='True')
|
version('0.2.1', tag='v0.2.1', submodules=True)
|
||||||
version('0.1.4', tag='v0.1.4', submodules='True')
|
version('0.2.0', tag='v0.2.0', submodules=True)
|
||||||
version('0.1.3', tag='v0.1.3', submodules='True')
|
version('0.1.4', tag='v0.1.4', submodules=True)
|
||||||
|
version('0.1.3', tag='v0.1.3', submodules=True)
|
||||||
|
|
||||||
patch('camp_target_umpire_3.0.0.patch', when='@3.0.0')
|
patch('camp_target_umpire_3.0.0.patch', when='@3.0.0')
|
||||||
patch('cmake_version_check.patch', when='@4.1.0:main')
|
patch('cmake_version_check.patch', when='@4.1')
|
||||||
|
|
||||||
variant('fortran', default=False, description='Build C/Fortran API')
|
variant('fortran', default=False, description='Build C/Fortran API')
|
||||||
variant('c', default=True, description='Build C API')
|
variant('c', default=True, description='Build C API')
|
||||||
|
Loading…
Reference in New Issue
Block a user