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"
|
||||
git = "https://github.com/LLNL/CHAI.git"
|
||||
|
||||
version('develop', branch='develop', submodules='True')
|
||||
version('master', branch='main', submodules='True')
|
||||
version('2.3.0', tag='v2.3.0', submodules='True')
|
||||
version('2.1.1', tag='v2.1.1', submodules='True')
|
||||
version('2.1.0', tag='v2.1.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')
|
||||
version('develop', branch='develop', submodules=True)
|
||||
version('master', branch='main', submodules=True)
|
||||
version('2.3.0', tag='v2.3.0', submodules=True)
|
||||
version('2.2.2', tag='v2.2.2', submodules=True)
|
||||
version('2.2.1', tag='v2.2.1', submodules=True)
|
||||
version('2.2.0', tag='v2.2.0', submodules=True)
|
||||
version('2.1.1', tag='v2.1.1', submodules=True)
|
||||
version('2.1.0', tag='v2.1.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('shared', default=True, description='Build Shared Libs')
|
||||
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.')
|
||||
# TODO: figure out gtest dependency and then set this default True
|
||||
# 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('-DENABLE_BENCHMARKS={0}'.format(
|
||||
'ON' if '+benchmarks' in spec else 'OFF'))
|
||||
|
||||
return options
|
||||
|
@ -38,14 +38,18 @@ class Lvarray(CMakePackage, CudaPackage):
|
||||
homepage = "https://github.com/GEOSX/lvarray"
|
||||
git = "https://github.com/GEOSX/LvArray.git"
|
||||
|
||||
version('develop', branch='develop', submodules='True')
|
||||
version('main', branch='main', submodules='True')
|
||||
version('0.1.0', tag='v0.1.0', submodules='True')
|
||||
maintainers = ['corbett5']
|
||||
|
||||
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('umpire', default=False, description='Build Umpire support')
|
||||
variant('chai', default=False, description='Build Chai 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('benchmarks', default=False, description='Build benchmarks')
|
||||
variant('examples', default=False, description='Build examples')
|
||||
@ -53,20 +57,27 @@ class Lvarray(CMakePackage, CudaPackage):
|
||||
variant('addr2line', default=True,
|
||||
description='Build support for addr2line.')
|
||||
|
||||
depends_on('cmake@3.8:', type='build')
|
||||
depends_on('cmake@3.9:', when='+cuda', type='build')
|
||||
depends_on('blt', when='@0.2.0:', type='build')
|
||||
|
||||
depends_on('camp')
|
||||
depends_on('camp+cuda', when='+cuda')
|
||||
|
||||
depends_on('raja')
|
||||
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+cuda', when='+umpire+cuda')
|
||||
depends_on('umpire+cuda~shared', when='+umpire+cuda')
|
||||
|
||||
depends_on('chai+raja', when='+chai')
|
||||
depends_on('chai+raja+cuda', when='+chai+cuda')
|
||||
|
||||
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('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
|
||||
all of the options used to configure and build Umpire.
|
||||
|
||||
For more details about 'host-config' files see:
|
||||
http://software.llnl.gov/conduit/building.html
|
||||
|
||||
Note:
|
||||
The `py_site_pkgs_dir` arg exists to allow a package that
|
||||
subclasses this package provide a specific site packages
|
||||
dir when calling this function. `py_site_pkgs_dir` should
|
||||
be an absolute path or `None`.
|
||||
|
||||
This is necessary because the spack `site_packages_dir`
|
||||
var will not exist in the base class. For more details
|
||||
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)
|
||||
|
||||
host_config_path = self._get_host_config_path(spec)
|
||||
cfg = open(host_config_path, "w")
|
||||
cfg.write("#{0}\n".format("#" * 80))
|
||||
cfg.write("# Generated host-config - Edit at own risk!\n")
|
||||
cfg.write("#{0}\n".format("#" * 80))
|
||||
with open(host_config_path, "w") as cfg:
|
||||
cfg.write("#{0}\n".format("#" * 80))
|
||||
cfg.write("# Generated host-config - Edit at own risk!\n")
|
||||
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("# 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(cmake_cache_option("ENABLE_CUDA", True))
|
||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_STANDARD", 14))
|
||||
if 'blt' in spec:
|
||||
cfg.write(cmake_cache_entry('BLT_SOURCE_DIR', spec['blt'].prefix))
|
||||
|
||||
cudatoolkitdir = spec['cuda'].prefix
|
||||
cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR",
|
||||
cudatoolkitdir))
|
||||
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
|
||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_COMPILER", cudacompiler))
|
||||
#######################
|
||||
# Compiler Settings
|
||||
#######################
|
||||
|
||||
cmake_cuda_flags = ('-restrict --expt-extended-lambda -Werror '
|
||||
'cross-execution-space-call,reorder,'
|
||||
'deprecated-declarations')
|
||||
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))
|
||||
|
||||
archSpecifiers = ("-mtune", "-mcpu", "-march", "-qtune", "-qarch")
|
||||
for archSpecifier in archSpecifiers:
|
||||
for compilerArg in spec.compiler_flags['cxxflags']:
|
||||
if compilerArg.startswith(archSpecifier):
|
||||
cmake_cuda_flags += ' -Xcompiler ' + compilerArg
|
||||
# use global spack compiler flags
|
||||
cflags = ' '.join(spec.compiler_flags['cflags'])
|
||||
cxxflags = ' '.join(spec.compiler_flags['cxxflags'])
|
||||
|
||||
if not spec.satisfies('cuda_arch=none'):
|
||||
cuda_arch = spec.variants['cuda_arch'].value
|
||||
cmake_cuda_flags += ' -arch sm_{0}'.format(cuda_arch[0])
|
||||
if "%intel" in spec:
|
||||
cflags += ' -qoverride-limits'
|
||||
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",
|
||||
"-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"))
|
||||
if cxxflags:
|
||||
cfg.write(cmake_cache_entry("CMAKE_CXX_FLAGS", cxxflags))
|
||||
|
||||
else:
|
||||
cfg.write(cmake_cache_option("ENABLE_CUDA", False))
|
||||
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))
|
||||
|
||||
cfg.write("#{0}\n".format("-" * 80))
|
||||
cfg.write("# RAJA\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
if "%clang arch=linux-rhel7-ppc64le" in spec:
|
||||
cfg.write(cmake_cache_entry("CMAKE_EXE_LINKER_FLAGS",
|
||||
"-Wl,--no-toc-optimize"))
|
||||
|
||||
raja_dir = spec['raja'].prefix
|
||||
cfg.write(cmake_cache_entry("RAJA_DIR", raja_dir))
|
||||
if "+cuda" in spec:
|
||||
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("# Umpire\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
cfg.write(cmake_cache_option("ENABLE_CUDA", True))
|
||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_STANDARD", 14))
|
||||
|
||||
if "+umpire" in spec:
|
||||
cfg.write(cmake_cache_option("ENABLE_UMPIRE", True))
|
||||
umpire_dir = spec['umpire'].prefix
|
||||
cfg.write(cmake_cache_entry("UMPIRE_DIR", umpire_dir))
|
||||
else:
|
||||
cfg.write(cmake_cache_option("ENABLE_UMPIRE", False))
|
||||
cudatoolkitdir = spec['cuda'].prefix
|
||||
cfg.write(cmake_cache_entry("CUDA_TOOLKIT_ROOT_DIR",
|
||||
cudatoolkitdir))
|
||||
cudacompiler = "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc"
|
||||
cfg.write(cmake_cache_entry("CMAKE_CUDA_COMPILER", cudacompiler))
|
||||
|
||||
cfg.write("#{0}\n".format("-" * 80))
|
||||
cfg.write("# CHAI\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
cmake_cuda_flags = ('-restrict --expt-extended-lambda -Werror '
|
||||
'cross-execution-space-call,reorder,'
|
||||
'deprecated-declarations')
|
||||
|
||||
if "+chai" in spec:
|
||||
cfg.write(cmake_cache_option("ENABLE_CHAI", True))
|
||||
chai_dir = spec['chai'].prefix
|
||||
cfg.write(cmake_cache_entry("CHAI_DIR", chai_dir))
|
||||
else:
|
||||
cfg.write(cmake_cache_option("ENABLE_CHAI", False))
|
||||
archSpecifiers = ("-mtune", "-mcpu", "-march", "-qtune", "-qarch")
|
||||
for archSpecifier in archSpecifiers:
|
||||
for compilerArg in spec.compiler_flags['cxxflags']:
|
||||
if compilerArg.startswith(archSpecifier):
|
||||
cmake_cuda_flags += ' -Xcompiler ' + compilerArg
|
||||
|
||||
cfg.write("#{0}\n".format("-" * 80))
|
||||
cfg.write("# Caliper\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
if not spec.satisfies('cuda_arch=none'):
|
||||
cuda_arch = spec.variants['cuda_arch'].value
|
||||
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("# Caliper\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
|
||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", True))
|
||||
caliper_dir = spec['caliper'].prefix
|
||||
cfg.write(cmake_cache_entry("CALIPER_DIR", caliper_dir))
|
||||
else:
|
||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", False))
|
||||
if "+caliper" in spec:
|
||||
cfg.write("#{0}\n".format("-" * 80))
|
||||
cfg.write("# Caliper\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
|
||||
cfg.write("#{0}\n".format("-" * 80))
|
||||
cfg.write("# Documentation\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
if "+docs" in spec:
|
||||
sphinx_dir = spec['py-sphinx'].prefix
|
||||
cfg.write(cmake_cache_string('SPHINX_EXECUTABLE',
|
||||
os.path.join(sphinx_dir,
|
||||
'bin',
|
||||
'sphinx-build')))
|
||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", True))
|
||||
cfg.write(cmake_cache_entry("CALIPER_DIR", spec['caliper'].prefix))
|
||||
else:
|
||||
cfg.write(cmake_cache_option("ENABLE_CALIPER", False))
|
||||
|
||||
doxygen_dir = spec['doxygen'].prefix
|
||||
cfg.write(cmake_cache_string('DOXYGEN_EXECUTABLE',
|
||||
os.path.join(doxygen_dir,
|
||||
'bin',
|
||||
'doxygen')))
|
||||
cfg.write('#{0}\n'.format('-' * 80))
|
||||
cfg.write('# Python\n')
|
||||
cfg.write('#{0}\n\n'.format('-' * 80))
|
||||
if '+pylvarray' in spec:
|
||||
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("# 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("# Documentation\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
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))
|
||||
cfg.write("# Other\n")
|
||||
cfg.write("#{0}\n\n".format("-" * 80))
|
||||
doxygen_dir = spec['doxygen'].prefix
|
||||
cfg.write(cmake_cache_string('DOXYGEN_EXECUTABLE',
|
||||
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):
|
||||
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',
|
||||
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):
|
||||
# https://github.com/scipy/scipy/issues/9080
|
||||
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']
|
||||
|
||||
version('develop', branch='develop', submodules='True')
|
||||
version('main', branch='main', submodules='True')
|
||||
version('4.1.2', tag='v4.1.2', submodules='True')
|
||||
version('4.1.1', tag='v4.1.1', submodules='True')
|
||||
version('4.1.0', tag='v4.1.0', submodules='True')
|
||||
version('4.0.1', tag='v4.0.1', submodules='True')
|
||||
version('4.0.0', tag='v4.0.0', submodules='True')
|
||||
version('3.0.0', tag='v3.0.0', submodules='True')
|
||||
version('2.1.0', tag='v2.1.0', submodules='True')
|
||||
version('2.0.0', tag='v2.0.0', submodules='True')
|
||||
version('1.1.0', tag='v1.1.0', submodules='True')
|
||||
version('1.0.1', tag='v1.0.1', submodules='True')
|
||||
version('1.0.0', tag='v1.0.0', submodules='True')
|
||||
version('0.3.5', tag='v0.3.5', submodules='True')
|
||||
version('0.3.4', tag='v0.3.4', submodules='True')
|
||||
version('0.3.3', tag='v0.3.3', submodules='True')
|
||||
version('0.3.2', tag='v0.3.2', submodules='True')
|
||||
version('0.3.1', tag='v0.3.1', submodules='True')
|
||||
version('0.3.0', tag='v0.3.0', submodules='True')
|
||||
version('0.2.4', tag='v0.2.4', submodules='True')
|
||||
version('0.2.3', tag='v0.2.3', submodules='True')
|
||||
version('0.2.2', tag='v0.2.2', submodules='True')
|
||||
version('0.2.1', tag='v0.2.1', submodules='True')
|
||||
version('0.2.0', tag='v0.2.0', submodules='True')
|
||||
version('0.1.4', tag='v0.1.4', submodules='True')
|
||||
version('0.1.3', tag='v0.1.3', submodules='True')
|
||||
version('develop', branch='develop', submodules=True)
|
||||
version('main', branch='main', submodules=True)
|
||||
version('5.0.0', tag='v5.0.0', submodules=True)
|
||||
version('4.1.2', tag='v4.1.2', submodules=True)
|
||||
version('4.1.1', tag='v4.1.1', submodules=True)
|
||||
version('4.1.0', tag='v4.1.0', submodules=True)
|
||||
version('4.0.1', tag='v4.0.1', submodules=True)
|
||||
version('4.0.0', tag='v4.0.0', submodules=True)
|
||||
version('3.0.0', tag='v3.0.0', submodules=True)
|
||||
version('2.1.0', tag='v2.1.0', submodules=True)
|
||||
version('2.0.0', tag='v2.0.0', submodules=True)
|
||||
version('1.1.0', tag='v1.1.0', submodules=True)
|
||||
version('1.0.1', tag='v1.0.1', submodules=True)
|
||||
version('1.0.0', tag='v1.0.0', submodules=True)
|
||||
version('0.3.5', tag='v0.3.5', submodules=True)
|
||||
version('0.3.4', tag='v0.3.4', submodules=True)
|
||||
version('0.3.3', tag='v0.3.3', submodules=True)
|
||||
version('0.3.2', tag='v0.3.2', submodules=True)
|
||||
version('0.3.1', tag='v0.3.1', submodules=True)
|
||||
version('0.3.0', tag='v0.3.0', submodules=True)
|
||||
version('0.2.4', tag='v0.2.4', submodules=True)
|
||||
version('0.2.3', tag='v0.2.3', submodules=True)
|
||||
version('0.2.2', tag='v0.2.2', submodules=True)
|
||||
version('0.2.1', tag='v0.2.1', submodules=True)
|
||||
version('0.2.0', tag='v0.2.0', 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('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('c', default=True, description='Build C API')
|
||||
|
Loading…
Reference in New Issue
Block a user