Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3cdf4e7ccf |
@ -140,8 +140,7 @@ def cmake_args(self):
|
|||||||
if spec.satisfies("+torch"):
|
if spec.satisfies("+torch"):
|
||||||
args.append("-DWITH_TORCH=On")
|
args.append("-DWITH_TORCH=On")
|
||||||
args.append(
|
args.append(
|
||||||
"-DTorch_DIR={0}/lib/python{1}/site-packages"
|
"-DTorch_DIR={0}/lib/python{1}/site-packages/torch/share/cmake/Torch".format(
|
||||||
"/torch/share/cmake/Torch".format(
|
|
||||||
spec["py-torch"].prefix, spec["python"].version.up_to(2)
|
spec["py-torch"].prefix, spec["python"].version.up_to(2)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -54,7 +54,7 @@ class Armcomputelibrary(SConsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"multi_isa",
|
"multi_isa",
|
||||||
default=False,
|
default=False,
|
||||||
description="Build Multi ISA binary version of library." " Note works only for armv8.2-a.",
|
description="Build Multi ISA binary version of library. Note works only for armv8.2-a.",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"target_arch",
|
"target_arch",
|
||||||
|
@ -61,7 +61,7 @@ class Atlas(Package):
|
|||||||
"tune_cpu",
|
"tune_cpu",
|
||||||
default=-1,
|
default=-1,
|
||||||
multi=False,
|
multi=False,
|
||||||
description="Number of threads to tune to, " "-1 for autodetect, 0 for no threading",
|
description="Number of threads to tune to, -1 for autodetect, 0 for no threading",
|
||||||
)
|
)
|
||||||
|
|
||||||
conflicts(
|
conflicts(
|
||||||
|
@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
def async_api_validator(pkg_name, variant_name, values):
|
def async_api_validator(pkg_name, variant_name, values):
|
||||||
if "none" in values and len(values) != 1:
|
if "none" in values and len(values) != 1:
|
||||||
raise SpackError("The value 'none' is not usable" " with other async_api values.")
|
raise SpackError("The value 'none' is not usable with other async_api values.")
|
||||||
if "intel_cppr" in values and "cray_dw" in values:
|
if "intel_cppr" in values and "cray_dw" in values:
|
||||||
raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous" " APIs are incompatible.")
|
raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous APIs are incompatible.")
|
||||||
|
|
||||||
|
|
||||||
class Axl(CMakePackage):
|
class Axl(CMakePackage):
|
||||||
|
@ -376,9 +376,7 @@ def initconfig_hardware_entries(self):
|
|||||||
if "+fortran" in spec and self.is_fortran_compiler("xlf"):
|
if "+fortran" in spec and self.is_fortran_compiler("xlf"):
|
||||||
# Grab lib directory for the current fortran compiler
|
# Grab lib directory for the current fortran compiler
|
||||||
libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.fc)), "lib")
|
libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.fc)), "lib")
|
||||||
description = (
|
description = "Adds a missing rpath for libraries associated with the fortran compiler"
|
||||||
"Adds a missing rpath for libraries " "associated with the fortran compiler"
|
|
||||||
)
|
|
||||||
|
|
||||||
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ class Bcftools(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"libgsl",
|
"libgsl",
|
||||||
default=False,
|
default=False,
|
||||||
description="build options that require the GNU scientific " "library",
|
description="build options that require the GNU scientific library",
|
||||||
)
|
)
|
||||||
|
|
||||||
variant(
|
variant(
|
||||||
|
@ -38,7 +38,7 @@ def llnl_link_helpers(options, spec, compiler):
|
|||||||
options.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags, description))
|
options.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags, description))
|
||||||
|
|
||||||
if "cce" in compiler.cxx:
|
if "cce" in compiler.cxx:
|
||||||
description = "Adds a missing rpath for libraries " "associated with the fortran compiler"
|
description = "Adds a missing rpath for libraries associated with the fortran compiler"
|
||||||
# Here is where to find libs that work for fortran
|
# Here is where to find libs that work for fortran
|
||||||
libdir = "/opt/cray/pe/cce/{0}/cce-clang/x86_64/lib".format(compiler.version)
|
libdir = "/opt/cray/pe/cce/{0}/cce-clang/x86_64/lib".format(compiler.version)
|
||||||
linker_flags = "${{BLT_EXE_LINKER_FLAGS}} -Wl,-rpath,{0}".format(libdir)
|
linker_flags = "${{BLT_EXE_LINKER_FLAGS}} -Wl,-rpath,{0}".format(libdir)
|
||||||
|
@ -40,9 +40,7 @@ class Bohrium(CMakePackage, CudaPackage):
|
|||||||
variant("node", default=True, description="Build the node vector engine manager")
|
variant("node", default=True, description="Build the node vector engine manager")
|
||||||
variant("proxy", default=False, description="Build the proxy vector engine manager")
|
variant("proxy", default=False, description="Build the proxy vector engine manager")
|
||||||
variant(
|
variant(
|
||||||
"python",
|
"python", default=True, description="Build the numpy-like bridge to enable use from python"
|
||||||
default=True,
|
|
||||||
description="Build the numpy-like bridge " "to enable use from python",
|
|
||||||
)
|
)
|
||||||
variant("cbridge", default=True, description="Build the bridge interface towards plain C")
|
variant("cbridge", default=True, description="Build the bridge interface towards plain C")
|
||||||
|
|
||||||
|
@ -237,7 +237,7 @@ def libs(self):
|
|||||||
values=("global", "protected", "hidden"),
|
values=("global", "protected", "hidden"),
|
||||||
default="hidden",
|
default="hidden",
|
||||||
multi=False,
|
multi=False,
|
||||||
description="Default symbol visibility in compiled libraries " "(1.69.0 or later)",
|
description="Default symbol visibility in compiled libraries (1.69.0 or later)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Unicode support
|
# Unicode support
|
||||||
|
@ -53,7 +53,7 @@ class Bzip2(Package, SourcewarePackage):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def determine_version(cls, exe):
|
def determine_version(cls, exe):
|
||||||
output = Executable(exe)("--help", output=str, error=str)
|
output = Executable(exe)("--help", output=str, error=str)
|
||||||
match = re.search(r"bzip2, a block-sorting file compressor." " Version ([^,]+)", output)
|
match = re.search(r"bzip2, a block-sorting file compressor. Version ([^,]+)", output)
|
||||||
return match.group(1) if match else None
|
return match.group(1) if match else None
|
||||||
|
|
||||||
# override default implementation
|
# override default implementation
|
||||||
|
@ -71,7 +71,7 @@ class Care(CachedCMakePackage, CudaPackage, ROCmPackage):
|
|||||||
variant(
|
variant(
|
||||||
"implicit_conversions",
|
"implicit_conversions",
|
||||||
default=False,
|
default=False,
|
||||||
description="Enable implicit" "conversions to/from raw pointers",
|
description="Enable implicit conversions to/from raw pointers",
|
||||||
)
|
)
|
||||||
variant("tests", default=False, description="Build tests")
|
variant("tests", default=False, description="Build tests")
|
||||||
variant("benchmarks", default=False, description="Build benchmarks.")
|
variant("benchmarks", default=False, description="Build benchmarks.")
|
||||||
|
@ -61,7 +61,7 @@ class CcsQcd(MakefilePackage):
|
|||||||
def edit(self, spec, prefix):
|
def edit(self, spec, prefix):
|
||||||
if spec.satisfies("%gcc") and spec.satisfies("arch=aarch64:"):
|
if spec.satisfies("%gcc") and spec.satisfies("arch=aarch64:"):
|
||||||
chgopt = (
|
chgopt = (
|
||||||
"FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp" " -mcmodel=large -funderscoring"
|
"FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp -mcmodel=large -funderscoring"
|
||||||
)
|
)
|
||||||
filter_file(
|
filter_file(
|
||||||
"FFLAGS =.*",
|
"FFLAGS =.*",
|
||||||
|
@ -131,7 +131,7 @@ class Cgal(CMakePackage):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"~header_only",
|
"~header_only",
|
||||||
when="@:4.9",
|
when="@:4.9",
|
||||||
msg="Header only builds became optional in 4.9," " default thereafter",
|
msg="Header only builds became optional in 4.9, default thereafter",
|
||||||
)
|
)
|
||||||
|
|
||||||
def url_for_version(self, version):
|
def url_for_version(self, version):
|
||||||
|
@ -351,7 +351,7 @@ def install(self, spec, prefix):
|
|||||||
# This is a Charm++ limitation; it would lead to a
|
# This is a Charm++ limitation; it would lead to a
|
||||||
# build error
|
# build error
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"The +tcp variant requires " "the backend=netlrts communication mechanism"
|
"The +tcp variant requires the backend=netlrts communication mechanism"
|
||||||
)
|
)
|
||||||
options.append("tcp")
|
options.append("tcp")
|
||||||
if spec.satisfies("+omp"):
|
if spec.satisfies("+omp"):
|
||||||
|
@ -31,11 +31,9 @@ def edit(self, spec, prefix):
|
|||||||
# Replace -fopenmp with self.compiler.openmp_flag
|
# Replace -fopenmp with self.compiler.openmp_flag
|
||||||
makefile.filter("-fopenmp", self.compiler.openmp_flag)
|
makefile.filter("-fopenmp", self.compiler.openmp_flag)
|
||||||
# Replace CXX with CXXFLAGS
|
# Replace CXX with CXXFLAGS
|
||||||
|
cxx11_flag = self.compiler.cxx11_flag
|
||||||
makefile.filter(
|
makefile.filter(
|
||||||
"CXX.*=.*",
|
"CXX.*=.*", rf"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\" $(OMPFLAGS) {cxx11_flag}"
|
||||||
r"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\""
|
|
||||||
" $(OMPFLAGS)"
|
|
||||||
" {0}".format(self.compiler.cxx11_flag),
|
|
||||||
)
|
)
|
||||||
makefile.filter("$(CXX)", "$(CXX) $(CXXFLAGS)", string=True)
|
makefile.filter("$(CXX)", "$(CXX) $(CXXFLAGS)", string=True)
|
||||||
# Replace -I$(SAMDIR) with -I$(SAMINC)
|
# Replace -I$(SAMDIR) with -I$(SAMINC)
|
||||||
|
@ -78,9 +78,7 @@ def install(self, spec, prefix):
|
|||||||
# rewrite the Makefile to use Spack's options all the time
|
# rewrite the Makefile to use Spack's options all the time
|
||||||
if spec.satisfies("%gcc"):
|
if spec.satisfies("%gcc"):
|
||||||
if not spec.satisfies("%gcc@6:"):
|
if not spec.satisfies("%gcc@6:"):
|
||||||
raise InstallError(
|
raise InstallError("When using GCC, CosmoMC requires version gcc@6: for building")
|
||||||
"When using GCC, " "CosmoMC requires version gcc@6: for building"
|
|
||||||
)
|
|
||||||
choosecomp = "ifortErr=1" # choose gfortran
|
choosecomp = "ifortErr=1" # choose gfortran
|
||||||
elif spec.satisfies("%intel"):
|
elif spec.satisfies("%intel"):
|
||||||
if not spec.satifies("%intel@14:"):
|
if not spec.satifies("%intel@14:"):
|
||||||
|
@ -801,9 +801,10 @@ def edit(self, pkg, spec, prefix):
|
|||||||
mkf.write("include {0}\n".format(self.pkg["plumed"].plumed_inc))
|
mkf.write("include {0}\n".format(self.pkg["plumed"].plumed_inc))
|
||||||
|
|
||||||
mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
|
mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
|
||||||
mkf.write(
|
mkf.write(f"FC = {fc}\n")
|
||||||
"FC = {0}\n" "CC = {1}\n" "CXX = {2}\n" "LD = {3}\n".format(fc, cc, cxx, fc)
|
mkf.write(f"CC = {cc}\n")
|
||||||
)
|
mkf.write(f"CXX = {cxx}\n")
|
||||||
|
mkf.write(f"LD = {fc}\n")
|
||||||
|
|
||||||
if spec.satisfies("%intel"):
|
if spec.satisfies("%intel"):
|
||||||
intel_bin_dir = ancestor(pkg.compiler.cc)
|
intel_bin_dir = ancestor(pkg.compiler.cc)
|
||||||
|
@ -153,7 +153,7 @@ class DavSdk(BundlePackage, CudaPackage, ROCmPackage):
|
|||||||
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
||||||
# required version since GPU capability is desired for ECP
|
# required version since GPU capability is desired for ECP
|
||||||
dav_sdk_depends_on(
|
dav_sdk_depends_on(
|
||||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst" " use_vtkm=on",
|
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst use_vtkm=on",
|
||||||
when="+paraview",
|
when="+paraview",
|
||||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||||
)
|
)
|
||||||
|
@ -418,18 +418,16 @@ class Dealii(CMakePackage, CudaPackage):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"+adol-c",
|
"+adol-c",
|
||||||
when="^trilinos+chaco",
|
when="^trilinos+chaco",
|
||||||
msg="Symbol clash between the ADOL-C library and " "Trilinos SEACAS Chaco.",
|
msg="Symbol clash between the ADOL-C library and Trilinos SEACAS Chaco.",
|
||||||
)
|
)
|
||||||
conflicts(
|
conflicts(
|
||||||
"+adol-c",
|
"+adol-c",
|
||||||
when="^trilinos+exodus",
|
when="^trilinos+exodus",
|
||||||
msg="Symbol clash between the ADOL-C library and " "Trilinos Netcdf.",
|
msg="Symbol clash between the ADOL-C library and Trilinos Netcdf.",
|
||||||
)
|
)
|
||||||
|
|
||||||
conflicts(
|
conflicts(
|
||||||
"+slepc",
|
"+slepc", when="~petsc", msg="It is not possible to enable slepc interfaces without petsc."
|
||||||
when="~petsc",
|
|
||||||
msg="It is not possible to enable slepc interfaces " "without petsc.",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
|
@ -60,7 +60,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
|||||||
"chimes",
|
"chimes",
|
||||||
default=False,
|
default=False,
|
||||||
when="@21.2:",
|
when="@21.2:",
|
||||||
description="Whether repulsive corrections" "via the ChIMES library should be enabled.",
|
description="Whether repulsive corrections via the ChIMES library should be enabled.",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"elsi",
|
"elsi",
|
||||||
@ -70,9 +70,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
|||||||
when="+mpi",
|
when="+mpi",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"gpu",
|
"gpu", default=False, description="Use the MAGMA library for GPU accelerated computation"
|
||||||
default=False,
|
|
||||||
description="Use the MAGMA library " "for GPU accelerated computation",
|
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"mbd",
|
"mbd",
|
||||||
@ -107,7 +105,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
|||||||
variant(
|
variant(
|
||||||
"sockets",
|
"sockets",
|
||||||
default=False,
|
default=False,
|
||||||
description="Whether the socket library " "(external control) should be linked",
|
description="Whether the socket library (external control) should be linked",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"transport",
|
"transport",
|
||||||
@ -130,7 +128,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
|||||||
"dftd3",
|
"dftd3",
|
||||||
default=False,
|
default=False,
|
||||||
when="@:19.1",
|
when="@:19.1",
|
||||||
description="Use DftD3 dispersion library " "(if you need this dispersion model)",
|
description="Use DftD3 dispersion library (if you need this dispersion model)",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("cmake@3.16:", type="build", when="@20.1:")
|
depends_on("cmake@3.16:", type="build", when="@20.1:")
|
||||||
|
@ -75,8 +75,7 @@ def config_docbook(self):
|
|||||||
"--noout",
|
"--noout",
|
||||||
"--add",
|
"--add",
|
||||||
"public",
|
"public",
|
||||||
"-//OASIS//ENTITIES DocBook XML Additional General Entities "
|
f"-//OASIS//ENTITIES DocBook XML Additional General Entities V{version}//EN",
|
||||||
"V{0}//EN".format(version),
|
|
||||||
f"file://{prefix}/dbgenent.mod",
|
f"file://{prefix}/dbgenent.mod",
|
||||||
docbook,
|
docbook,
|
||||||
)
|
)
|
||||||
@ -116,7 +115,7 @@ def config_docbook(self):
|
|||||||
"--noout",
|
"--noout",
|
||||||
"--add",
|
"--add",
|
||||||
"public",
|
"public",
|
||||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow " "Relations//EN",
|
"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN",
|
||||||
f"file://{ent_dir}/isoamsa.ent",
|
f"file://{ent_dir}/isoamsa.ent",
|
||||||
docbook,
|
docbook,
|
||||||
)
|
)
|
||||||
@ -124,7 +123,7 @@ def config_docbook(self):
|
|||||||
"--noout",
|
"--noout",
|
||||||
"--add",
|
"--add",
|
||||||
"public",
|
"public",
|
||||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Binary " "Operators//EN",
|
"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN",
|
||||||
f"file://{ent_dir}/isoamsb.ent",
|
f"file://{ent_dir}/isoamsb.ent",
|
||||||
docbook,
|
docbook,
|
||||||
)
|
)
|
||||||
@ -140,7 +139,7 @@ def config_docbook(self):
|
|||||||
"--noout",
|
"--noout",
|
||||||
"--add",
|
"--add",
|
||||||
"public",
|
"public",
|
||||||
"ISO 8879:1986//ENTITIES Added Math Symbols: " "Negated Relations//EN",
|
"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN",
|
||||||
f"file://{ent_dir}/isoamsn.ent",
|
f"file://{ent_dir}/isoamsn.ent",
|
||||||
docbook,
|
docbook,
|
||||||
)
|
)
|
||||||
|
@ -56,7 +56,7 @@ class Dyninst(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"openmp",
|
"openmp",
|
||||||
default=True,
|
default=True,
|
||||||
description="Enable OpenMP support for ParseAPI " "(version 10.0.0 or later)",
|
description="Enable OpenMP support for ParseAPI (version 10.0.0 or later)",
|
||||||
)
|
)
|
||||||
|
|
||||||
variant("static", default=False, description="Build static libraries")
|
variant("static", default=False, description="Build static libraries")
|
||||||
|
@ -123,13 +123,13 @@ class Eccodes(CMakePackage):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"+netcdf",
|
"+netcdf",
|
||||||
when="~tools",
|
when="~tools",
|
||||||
msg="Cannot enable the NetCDF conversion tool " "when the command line tools are disabled",
|
msg="Cannot enable the NetCDF conversion tool when the command line tools are disabled",
|
||||||
)
|
)
|
||||||
|
|
||||||
conflicts(
|
conflicts(
|
||||||
"~tools",
|
"~tools",
|
||||||
when="@:2.18.0",
|
when="@:2.18.0",
|
||||||
msg="The command line tools can be disabled " "only starting version 2.19.0",
|
msg="The command line tools can be disabled only starting version 2.19.0",
|
||||||
)
|
)
|
||||||
|
|
||||||
for center, definitions in _definitions.items():
|
for center, definitions in _definitions.items():
|
||||||
|
@ -65,7 +65,7 @@ class Eckit(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"unicode",
|
"unicode",
|
||||||
default=True,
|
default=True,
|
||||||
description="Enable support for Unicode characters in Yaml/JSON" "parsers",
|
description="Enable support for Unicode characters in Yaml/JSON parsers",
|
||||||
)
|
)
|
||||||
variant("aio", default=True, description="Enable asynchronous IO")
|
variant("aio", default=True, description="Enable asynchronous IO")
|
||||||
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")
|
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")
|
||||||
|
@ -170,7 +170,7 @@ class EcpDataVisSdk(BundlePackage, CudaPackage, ROCmPackage):
|
|||||||
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
||||||
# required version since GPU capability is desired for ECP
|
# required version since GPU capability is desired for ECP
|
||||||
dav_sdk_depends_on(
|
dav_sdk_depends_on(
|
||||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst" " use_vtkm=on",
|
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst use_vtkm=on",
|
||||||
when="+paraview",
|
when="+paraview",
|
||||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||||
)
|
)
|
||||||
|
@ -39,7 +39,7 @@ class Elemental(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"int64_blas",
|
"int64_blas",
|
||||||
default=False,
|
default=False,
|
||||||
description="Use 64bit integers for BLAS." " Requires local build of BLAS library.",
|
description="Use 64bit integers for BLAS. Requires local build of BLAS library.",
|
||||||
)
|
)
|
||||||
variant("scalapack", default=False, description="Build with ScaLAPACK library")
|
variant("scalapack", default=False, description="Build with ScaLAPACK library")
|
||||||
variant(
|
variant(
|
||||||
@ -57,7 +57,7 @@ class Elemental(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"mpfr",
|
"mpfr",
|
||||||
default=False,
|
default=False,
|
||||||
description="Support GNU MPFR's" "arbitrary-precision floating-point arithmetic",
|
description="Support GNU MPFR's arbitrary-precision floating-point arithmetic",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Note that #1712 forces us to enumerate the different blas variants
|
# Note that #1712 forces us to enumerate the different blas variants
|
||||||
|
@ -48,7 +48,7 @@ def patch(self):
|
|||||||
)
|
)
|
||||||
edit = FileFilter("CMakeLists.txt")
|
edit = FileFilter("CMakeLists.txt")
|
||||||
edit.filter(
|
edit.filter(
|
||||||
r"\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/" "libbamtools.a",
|
r"\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/libbamtools.a",
|
||||||
"%s" % self.spec["bamtools"].libs,
|
"%s" % self.spec["bamtools"].libs,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -31,12 +31,12 @@ class Flamemaster(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"bilin_omega",
|
"bilin_omega",
|
||||||
default=True,
|
default=True,
|
||||||
description="Compile with bilinear interpolation" "for collision integrals (omega)",
|
description="Compile with bilinear interpolation for collision integrals (omega)",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"combustion",
|
"combustion",
|
||||||
default=False,
|
default=False,
|
||||||
description="Integrate comustion libraries" "for kinetics, thermodynamics, and transport",
|
description="Integrate comustion libraries for kinetics, thermodynamics, and transport",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"fortran_code",
|
"fortran_code",
|
||||||
@ -109,7 +109,7 @@ class Flamemaster(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"tests",
|
"tests",
|
||||||
default=False,
|
default=False,
|
||||||
description="Install google-test framework for unit tests" "and enable units tests.",
|
description="Install google-test framework for unit tests and enable units tests.",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"third_party_in_build_dir",
|
"third_party_in_build_dir",
|
||||||
|
@ -63,7 +63,7 @@ class Flexi(CMakePackage):
|
|||||||
"parabolic",
|
"parabolic",
|
||||||
default=True,
|
default=True,
|
||||||
description=(
|
description=(
|
||||||
"Defines whether the parabolic part of the chosen system " "should be included or not"
|
"Defines whether the parabolic part of the chosen system should be included or not"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
|
@ -66,7 +66,7 @@ class Fortrilinos(CMakePackage):
|
|||||||
depends_on("trilinos gotype=long_long")
|
depends_on("trilinos gotype=long_long")
|
||||||
# Full trilinos dependencies
|
# Full trilinos dependencies
|
||||||
depends_on(
|
depends_on(
|
||||||
"trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra" "+stratimikos", when="+hl"
|
"trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra+stratimikos", when="+hl"
|
||||||
)
|
)
|
||||||
|
|
||||||
@run_before("cmake")
|
@run_before("cmake")
|
||||||
|
@ -35,9 +35,7 @@ class Freeipmi(AutotoolsPackage):
|
|||||||
def configure_args(self):
|
def configure_args(self):
|
||||||
# FIXME: If root checking of root installation is added fix this:
|
# FIXME: If root checking of root installation is added fix this:
|
||||||
# Discussed in issue #4432
|
# Discussed in issue #4432
|
||||||
tty.warn(
|
tty.warn("Requires 'root' for bmc-watchdog.service installation to /lib/systemd/system/ !")
|
||||||
"Requires 'root' for bmc-watchdog.service installation to" " /lib/systemd/system/ !"
|
|
||||||
)
|
|
||||||
|
|
||||||
args = [
|
args = [
|
||||||
"--prefix={0}".format(prefix),
|
"--prefix={0}".format(prefix),
|
||||||
|
@ -599,9 +599,7 @@ def determine_variants(cls, exes, version_str):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def validate_detected_spec(cls, spec, extra_attributes):
|
def validate_detected_spec(cls, spec, extra_attributes):
|
||||||
# For GCC 'compilers' is a mandatory attribute
|
# For GCC 'compilers' is a mandatory attribute
|
||||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||||
spec
|
|
||||||
)
|
|
||||||
assert "compilers" in extra_attributes, msg
|
assert "compilers" in extra_attributes, msg
|
||||||
|
|
||||||
compilers = extra_attributes["compilers"]
|
compilers = extra_attributes["compilers"]
|
||||||
@ -1090,8 +1088,7 @@ def detect_gdc(self):
|
|||||||
return candidate_gdc
|
return candidate_gdc
|
||||||
else:
|
else:
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"Cannot resolve ambiguity when detecting GDC that belongs to "
|
f"Can't resolve ambiguity when detecting GDC for %{self.compiler.spec}",
|
||||||
"%{0}".format(self.compiler.spec),
|
|
||||||
long_msg="The candidates are:{0}{0}{1}{0}".format(
|
long_msg="The candidates are:{0}{0}{1}{0}".format(
|
||||||
error_nl,
|
error_nl,
|
||||||
error_nl.join(
|
error_nl.join(
|
||||||
|
@ -12,7 +12,7 @@ class GhostscriptFonts(Package, SourceforgePackage):
|
|||||||
|
|
||||||
homepage = "https://ghostscript.com/"
|
homepage = "https://ghostscript.com/"
|
||||||
sourceforge_mirror_path = (
|
sourceforge_mirror_path = (
|
||||||
"gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/" "ghostscript-fonts-std-8.11.tar.gz"
|
"gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz"
|
||||||
)
|
)
|
||||||
|
|
||||||
license("GPL-2.0-or-later")
|
license("GPL-2.0-or-later")
|
||||||
|
@ -55,7 +55,7 @@ class Graphviz(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
lang,
|
lang,
|
||||||
default=False,
|
default=False,
|
||||||
description="Enable for optional {0} language " "bindings".format(lang),
|
description="Enable for optional {0} language bindings".format(lang),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Feature variants
|
# Feature variants
|
||||||
@ -147,7 +147,7 @@ class Graphviz(AutotoolsPackage):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"%gcc@:5.9",
|
"%gcc@:5.9",
|
||||||
when="@2.40.1+qt ^qt@5:",
|
when="@2.40.1+qt ^qt@5:",
|
||||||
msg="graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 " "suppport",
|
msg="graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 suppport",
|
||||||
)
|
)
|
||||||
|
|
||||||
def autoreconf(self, spec, prefix):
|
def autoreconf(self, spec, prefix):
|
||||||
|
@ -53,7 +53,7 @@ class Grpc(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"codegen",
|
"codegen",
|
||||||
default=True,
|
default=True,
|
||||||
description="Builds code generation plugins for protobuf " "compiler (protoc)",
|
description="Builds code generation plugins for protobuf compiler (protoc)",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"cxxstd",
|
"cxxstd",
|
||||||
|
@ -602,7 +602,7 @@ def ensure_parallel_compiler_wrappers(self):
|
|||||||
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
|
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
|
||||||
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
|
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
|
||||||
# MPI support are enabled (only for versions that generate 'h5fc').
|
# MPI support are enabled (only for versions that generate 'h5fc').
|
||||||
if self.spec.satisfies("@1.8.22:1.8," "1.10.6:1.10.9," "1.12.0:1.12.2" "+fortran+mpi"):
|
if self.spec.satisfies("@1.8.22:1.8, 1.10.6:1.10.9, 1.12.0:1.12.2 +fortran+mpi"):
|
||||||
with working_dir(self.prefix.bin):
|
with working_dir(self.prefix.bin):
|
||||||
# No try/except here, fix the condition above instead:
|
# No try/except here, fix the condition above instead:
|
||||||
symlink("h5fc", "h5pfc")
|
symlink("h5fc", "h5pfc")
|
||||||
|
@ -26,7 +26,7 @@ class Hicops(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"timemory",
|
"timemory",
|
||||||
default=False,
|
default=False,
|
||||||
description="Enable timemory interface. Requires timemory " "installation.",
|
description="Enable timemory interface. Requires timemory installation.",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"mpip",
|
"mpip",
|
||||||
@ -37,7 +37,7 @@ class Hicops(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"tailfit",
|
"tailfit",
|
||||||
default=True,
|
default=True,
|
||||||
description="Use the tailfit method instead of Gumbelfit " "for e-value computation.",
|
description="Use the tailfit method instead of Gumbelfit for e-value computation.",
|
||||||
)
|
)
|
||||||
variant("progress", default=True, description="Display HiCOPS progress marks.")
|
variant("progress", default=True, description="Display HiCOPS progress marks.")
|
||||||
variant(
|
variant(
|
||||||
@ -50,14 +50,14 @@ class Hicops(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"qalen",
|
"qalen",
|
||||||
default="100",
|
default="100",
|
||||||
description="Maximum number of top K peaks to keep when " "spectrum preprocess.",
|
description="Maximum number of top K peaks to keep when spectrum preprocess.",
|
||||||
values=int,
|
values=int,
|
||||||
multi=False,
|
multi=False,
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"qchunk",
|
"qchunk",
|
||||||
default="10000",
|
default="10000",
|
||||||
description="Max size of each batch extracted from the " "dataset.",
|
description="Max size of each batch extracted from the dataset.",
|
||||||
values=int,
|
values=int,
|
||||||
multi=False,
|
multi=False,
|
||||||
)
|
)
|
||||||
|
@ -85,7 +85,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
variant(
|
variant(
|
||||||
"deepchecking",
|
"deepchecking",
|
||||||
default=False,
|
default=False,
|
||||||
description="Ultra safety checks - " "used for increased robustness and self-diagnostics",
|
description="Ultra safety checks - used for increased robustness and self-diagnostics",
|
||||||
)
|
)
|
||||||
variant("ginkgo", default=False, description="Enable/disable ginkgo solver")
|
variant("ginkgo", default=False, description="Enable/disable ginkgo solver")
|
||||||
variant(
|
variant(
|
||||||
|
@ -181,7 +181,8 @@ def configure_args(self):
|
|||||||
"--with-openjdk-checksum=no",
|
"--with-openjdk-checksum=no",
|
||||||
"--with-nashorn-src-zip=" + self.stage[8].archive_file,
|
"--with-nashorn-src-zip=" + self.stage[8].archive_file,
|
||||||
"--with-nashorn-checksum=no",
|
"--with-nashorn-checksum=no",
|
||||||
"--disable-maintainer-mode" "--disable-downloading",
|
"--disable-maintainer-mode",
|
||||||
|
"--disable-downloading",
|
||||||
"--disable-system-pcsc",
|
"--disable-system-pcsc",
|
||||||
"--disable-system-sctp",
|
"--disable-system-sctp",
|
||||||
"--disable-system-kerberos",
|
"--disable-system-kerberos",
|
||||||
|
@ -38,7 +38,7 @@ class JsonC(CMakePackage, AutotoolsPackage):
|
|||||||
def patch(self):
|
def patch(self):
|
||||||
filter_file(
|
filter_file(
|
||||||
"-Wextra",
|
"-Wextra",
|
||||||
"-Wextra -Wno-error=implicit-fallthrough " "-Wno-error=unused-but-set-variable",
|
"-Wextra -Wno-error=implicit-fallthrough -Wno-error=unused-but-set-variable",
|
||||||
"Makefile.in",
|
"Makefile.in",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ class Jsoncpp(CMakePackage, MesonPackage):
|
|||||||
def patch(self):
|
def patch(self):
|
||||||
filter_file(
|
filter_file(
|
||||||
"return d >= min && d <= max;",
|
"return d >= min && d <= max;",
|
||||||
"return d >= static_cast<double>(min) && " "d <= static_cast<double>(max);",
|
"return d >= static_cast<double>(min) && d <= static_cast<double>(max);",
|
||||||
"src/lib_json/json_value.cpp",
|
"src/lib_json/json_value.cpp",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class Libcint(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"pypzpx",
|
"pypzpx",
|
||||||
default=False,
|
default=False,
|
||||||
description="Enforce PYPZPX ordering of p-orbitals " "instead of PXPYPZ.",
|
description="Enforce PYPZPX ordering of p-orbitals instead of PXPYPZ.",
|
||||||
)
|
)
|
||||||
variant("test", default=False, description="Build test programs")
|
variant("test", default=False, description="Build test programs")
|
||||||
variant("shared", default=True, description="Build the shared library")
|
variant("shared", default=True, description="Build the shared library")
|
||||||
|
@ -59,7 +59,7 @@ class Libint(AutotoolsPackage):
|
|||||||
"fma",
|
"fma",
|
||||||
default=False,
|
default=False,
|
||||||
description=(
|
description=(
|
||||||
"Generate code utilizing FMA" " (requires capable CPU and recent enough compiler)"
|
"Generate code utilizing FMA (requires capable CPU and recent enough compiler)"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -73,9 +73,7 @@ class Libunwind(AutotoolsPackage):
|
|||||||
variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")
|
variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")
|
||||||
|
|
||||||
variant(
|
variant(
|
||||||
"zlib",
|
"zlib", default=False, description="Support zlib compressed symbol tables (1.5 and later)."
|
||||||
default=False,
|
|
||||||
description="Support zlib compressed symbol tables " "(1.5 and later).",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# The libunwind releases contain the autotools generated files,
|
# The libunwind releases contain the autotools generated files,
|
||||||
|
@ -55,7 +55,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
|
|||||||
variant(
|
variant(
|
||||||
"polly",
|
"polly",
|
||||||
default=True,
|
default=True,
|
||||||
description="Build the LLVM polyhedral optimization plugin, " "only builds for 3.7.0+",
|
description="Build the LLVM polyhedral optimization plugin, only builds for 3.7.0+",
|
||||||
)
|
)
|
||||||
variant("libcxx", default=True, description="Build the LLVM C++ standard library")
|
variant("libcxx", default=True, description="Build the LLVM C++ standard library")
|
||||||
variant(
|
variant(
|
||||||
@ -288,9 +288,7 @@ def determine_variants(cls, exes, version_str):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def validate_detected_spec(cls, spec, extra_attributes):
|
def validate_detected_spec(cls, spec, extra_attributes):
|
||||||
# For LLVM 'compilers' is a mandatory attribute
|
# For LLVM 'compilers' is a mandatory attribute
|
||||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||||
spec
|
|
||||||
)
|
|
||||||
assert "compilers" in extra_attributes, msg
|
assert "compilers" in extra_attributes, msg
|
||||||
compilers = extra_attributes["compilers"]
|
compilers = extra_attributes["compilers"]
|
||||||
for key in ("c", "cxx"):
|
for key in ("c", "cxx"):
|
||||||
|
@ -724,9 +724,7 @@ def determine_variants(cls, exes, version_str):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def validate_detected_spec(cls, spec, extra_attributes):
|
def validate_detected_spec(cls, spec, extra_attributes):
|
||||||
# For LLVM 'compilers' is a mandatory attribute
|
# For LLVM 'compilers' is a mandatory attribute
|
||||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||||
spec
|
|
||||||
)
|
|
||||||
assert "compilers" in extra_attributes, msg
|
assert "compilers" in extra_attributes, msg
|
||||||
compilers = extra_attributes["compilers"]
|
compilers = extra_attributes["compilers"]
|
||||||
for key in ("c", "cxx"):
|
for key in ("c", "cxx"):
|
||||||
|
@ -41,7 +41,7 @@ class Mariadb(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"nonblocking",
|
"nonblocking",
|
||||||
default=True,
|
default=True,
|
||||||
description="Allow non blocking " "operations in the mariadb client library.",
|
description="Allow non blocking operations in the mariadb client library.",
|
||||||
)
|
)
|
||||||
|
|
||||||
provides("mariadb-client")
|
provides("mariadb-client")
|
||||||
|
@ -56,7 +56,7 @@ def patch(self):
|
|||||||
# workaround anonymous version tag linker error for the NVIDIA
|
# workaround anonymous version tag linker error for the NVIDIA
|
||||||
# compilers
|
# compilers
|
||||||
filter_file(
|
filter_file(
|
||||||
"${wl}-version-script " "${wl}$output_objdir/$libname.ver",
|
"${wl}-version-script ${wl}$output_objdir/$libname.ver",
|
||||||
"",
|
"",
|
||||||
"configure",
|
"configure",
|
||||||
string=True,
|
string=True,
|
||||||
|
@ -83,7 +83,7 @@ class Mvapich2(MpichEnvironmentModifications, AutotoolsPackage):
|
|||||||
description="List of the process managers to activate",
|
description="List of the process managers to activate",
|
||||||
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
||||||
.prohibit_empty_set()
|
.prohibit_empty_set()
|
||||||
.with_error("'slurm' or 'auto' cannot be activated along with " "other process managers")
|
.with_error("'slurm' or 'auto' cannot be activated along with other process managers")
|
||||||
.with_default("auto")
|
.with_default("auto")
|
||||||
.with_non_feature_values("auto"),
|
.with_non_feature_values("auto"),
|
||||||
)
|
)
|
||||||
|
@ -182,7 +182,7 @@ def construct_ldflags(self):
|
|||||||
spec = self.spec
|
spec = self.spec
|
||||||
xpmem_ldflags = ""
|
xpmem_ldflags = ""
|
||||||
if "feature=basic-xpmem" in spec or "feature=advanced-xpmem" in spec:
|
if "feature=basic-xpmem" in spec or "feature=advanced-xpmem" in spec:
|
||||||
xpmem_ldflags = " -Wl,-rpath,/opt/xpmem/lib " "-L/opt/xpmem/lib -lxpmem"
|
xpmem_ldflags = " -Wl,-rpath,/opt/xpmem/lib -L/opt/xpmem/lib -lxpmem"
|
||||||
|
|
||||||
# Add default LDFLAGS and combine together
|
# Add default LDFLAGS and combine together
|
||||||
LDFLAGS = "LDFLAGS=-Wl,-rpath,XORIGIN/placeholder"
|
LDFLAGS = "LDFLAGS=-Wl,-rpath,XORIGIN/placeholder"
|
||||||
|
@ -241,7 +241,7 @@ def _edit_arch_target_based(self, spec, prefix):
|
|||||||
tty.info("Building binaries with AVX512-tile optimization")
|
tty.info("Building binaries with AVX512-tile optimization")
|
||||||
copy("Linux-AVX512-icc.arch", arch_filename)
|
copy("Linux-AVX512-icc.arch", arch_filename)
|
||||||
elif spec.version >= Version("2.14") and os.path.exists("Linux-SKX-icc.arch"):
|
elif spec.version >= Version("2.14") and os.path.exists("Linux-SKX-icc.arch"):
|
||||||
tty.info("Building binaries with Skylake-X" "AVX512 optimization")
|
tty.info("Building binaries with Skylake-X AVX512 optimization")
|
||||||
copy("Linux-SKX-icc.arch", arch_filename)
|
copy("Linux-SKX-icc.arch", arch_filename)
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
@ -81,7 +81,7 @@ def patch(self):
|
|||||||
if self.spec.satisfies("@:22_0_0 ^boost@1.70:"):
|
if self.spec.satisfies("@:22_0_0 ^boost@1.70:"):
|
||||||
with working_dir(join_path("include", "corelib")):
|
with working_dir(join_path("include", "corelib")):
|
||||||
filter_file(
|
filter_file(
|
||||||
("unit_test::ut_detail::" "ignore_unused_variable_warning"),
|
("unit_test::ut_detail::ignore_unused_variable_warning"),
|
||||||
"ignore_unused",
|
"ignore_unused",
|
||||||
"test_boost.hpp",
|
"test_boost.hpp",
|
||||||
string=True,
|
string=True,
|
||||||
|
@ -162,7 +162,7 @@ def patch(self):
|
|||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
if (self.compiler.fc is None) or (self.compiler.cc is None):
|
if (self.compiler.fc is None) or (self.compiler.cc is None):
|
||||||
raise InstallError("NCL package requires both " "C and Fortran compilers.")
|
raise InstallError("NCL package requires both C and Fortran compilers.")
|
||||||
|
|
||||||
self.prepare_site_config()
|
self.prepare_site_config()
|
||||||
self.prepare_install_config()
|
self.prepare_install_config()
|
||||||
|
@ -151,9 +151,7 @@ def install(self, spec, prefix):
|
|||||||
filter_file(r"\$\(OLAGS\)", "-qextname $(OLAGS)", join_path("postnek", "makefile"))
|
filter_file(r"\$\(OLAGS\)", "-qextname $(OLAGS)", join_path("postnek", "makefile"))
|
||||||
# Define 'rename_' function that calls 'rename'
|
# Define 'rename_' function that calls 'rename'
|
||||||
with open(join_path("postnek", "xdriver.c"), "a") as xdriver:
|
with open(join_path("postnek", "xdriver.c"), "a") as xdriver:
|
||||||
xdriver.write(
|
xdriver.write("\nvoid rename_(char *from, char *to)\n{\n rename(from, to);\n}\n")
|
||||||
"\nvoid rename_(char *from, char *to)\n{\n" " rename(from, to);\n}\n"
|
|
||||||
)
|
|
||||||
|
|
||||||
maxnel = self.spec.variants["MAXNEL"].value
|
maxnel = self.spec.variants["MAXNEL"].value
|
||||||
filter_file(r"^#MAXNEL\s*=.*", "MAXNEL=" + maxnel, "maketools")
|
filter_file(r"^#MAXNEL\s*=.*", "MAXNEL=" + maxnel, "maketools")
|
||||||
|
@ -53,7 +53,7 @@ class Ngspice(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"debug",
|
"debug",
|
||||||
default="auto",
|
default="auto",
|
||||||
description="Enable debugging features: " "auto is yes for build=lib, no for build=bin",
|
description="Enable debugging features: auto is yes for build=lib, no for build=bin",
|
||||||
values=("auto", "yes", "no"),
|
values=("auto", "yes", "no"),
|
||||||
multi=False,
|
multi=False,
|
||||||
)
|
)
|
||||||
|
@ -360,8 +360,8 @@ def test_recipe(self):
|
|||||||
expected = [
|
expected = [
|
||||||
"Running octopus",
|
"Running octopus",
|
||||||
"CalculationMode = recipe",
|
"CalculationMode = recipe",
|
||||||
"DISCLAIMER: The authors do not " "guarantee that the implementation",
|
"DISCLAIMER: The authors do not guarantee that the implementation",
|
||||||
"recipe leads to an edible dish, " 'for it is clearly "system-dependent".',
|
'recipe leads to an edible dish, for it is clearly "system-dependent".',
|
||||||
"Calculation ended on",
|
"Calculation ended on",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -473,7 +473,7 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
|||||||
values=disjoint_sets(
|
values=disjoint_sets(
|
||||||
("auto",), FABRICS # shared memory transports
|
("auto",), FABRICS # shared memory transports
|
||||||
).with_non_feature_values("auto", "none"),
|
).with_non_feature_values("auto", "none"),
|
||||||
description="List of fabrics that are enabled; " "'auto' lets openmpi determine",
|
description="List of fabrics that are enabled; 'auto' lets openmpi determine",
|
||||||
)
|
)
|
||||||
|
|
||||||
SCHEDULERS = ("alps", "lsf", "tm", "slurm", "sge", "loadleveler")
|
SCHEDULERS = ("alps", "lsf", "tm", "slurm", "sge", "loadleveler")
|
||||||
@ -694,7 +694,7 @@ def patch(self):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"schedulers=loadleveler",
|
"schedulers=loadleveler",
|
||||||
when="@3:",
|
when="@3:",
|
||||||
msg="The loadleveler scheduler is not supported with " "openmpi(>=3).",
|
msg="The loadleveler scheduler is not supported with openmpi(>=3).",
|
||||||
)
|
)
|
||||||
|
|
||||||
# According to this comment on github:
|
# According to this comment on github:
|
||||||
|
@ -29,17 +29,17 @@ class P3dfft3(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"measure",
|
"measure",
|
||||||
default=False,
|
default=False,
|
||||||
description="Define if you want to use" "the measure fftw planner flag",
|
description="Define if you want to use the measure fftw planner flag",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"estimate",
|
"estimate",
|
||||||
default=False,
|
default=False,
|
||||||
description="Define if you want to" "use the estimate fftw planner flag",
|
description="Define if you want to use the estimate fftw planner flag",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"patient",
|
"patient",
|
||||||
default=False,
|
default=False,
|
||||||
description="Define if you want to" "use the patient fftw planner flag",
|
description="Define if you want to use the patient fftw planner flag",
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: Add more configure options!
|
# TODO: Add more configure options!
|
||||||
|
@ -26,7 +26,7 @@ class Paradiseo(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"mpi",
|
"mpi",
|
||||||
default=True,
|
default=True,
|
||||||
description="Compile with parallel and distributed " "metaheuristics module",
|
description="Compile with parallel and distributed metaheuristics module",
|
||||||
)
|
)
|
||||||
variant("smp", default=True, description="Compile with symmetric multi-processing module ")
|
variant("smp", default=True, description="Compile with symmetric multi-processing module ")
|
||||||
variant("edo", default=True, description="Compile with (Experimental) EDO module")
|
variant("edo", default=True, description="Compile with (Experimental) EDO module")
|
||||||
|
@ -41,7 +41,7 @@ class Pcre(AutotoolsPackage, CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"utf",
|
"utf",
|
||||||
default=True,
|
default=True,
|
||||||
description="Enable support for UTF-8/16/32, " "incompatible with EBCDIC.",
|
description="Enable support for UTF-8/16/32, incompatible with EBCDIC.",
|
||||||
)
|
)
|
||||||
|
|
||||||
variant("shared", default=True, description="Build shared libraries")
|
variant("shared", default=True, description="Build shared libraries")
|
||||||
|
@ -138,7 +138,7 @@ class Phist(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"fortran",
|
"fortran",
|
||||||
default=True,
|
default=True,
|
||||||
description="generate Fortran 2003 bindings (requires Python3 and " "a Fortran compiler)",
|
description="generate Fortran 2003 bindings (requires Python3 and a Fortran compiler)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Build error with LLVM and recent Trilinos, fixed in phist-1.12.1
|
# Build error with LLVM and recent Trilinos, fixed in phist-1.12.1
|
||||||
|
@ -75,7 +75,7 @@ def build_targets(self):
|
|||||||
|
|
||||||
if "%gcc" in self.spec:
|
if "%gcc" in self.spec:
|
||||||
targets.append(
|
targets.append(
|
||||||
"FARGS=-g -fbounds-check -O3 -fopenmp " "-JModules -fallow-argument-mismatch"
|
"FARGS=-g -fbounds-check -O3 -fopenmp -JModules -fallow-argument-mismatch"
|
||||||
)
|
)
|
||||||
|
|
||||||
return targets
|
return targets
|
||||||
|
@ -34,7 +34,7 @@ class Pism(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"proj",
|
"proj",
|
||||||
default=True,
|
default=True,
|
||||||
description="Use Proj to compute cell areas, " "longitudes, and latitudes.",
|
description="Use Proj to compute cell areas, longitudes, and latitudes.",
|
||||||
)
|
)
|
||||||
variant("parallel-netcdf4", default=False, description="Enables parallel NetCDF-4 I/O.")
|
variant("parallel-netcdf4", default=False, description="Enables parallel NetCDF-4 I/O.")
|
||||||
variant(
|
variant(
|
||||||
|
@ -38,7 +38,7 @@ def check_fortran(self):
|
|||||||
if self.spec.satisfies("+fortran"):
|
if self.spec.satisfies("+fortran"):
|
||||||
if is_no_fortran_compiler:
|
if is_no_fortran_compiler:
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"pnmpi+fortran requires Fortran compiler " "but no Fortran compiler found!"
|
"pnmpi+fortran requires Fortran compiler but no Fortran compiler found!"
|
||||||
)
|
)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
|
@ -29,7 +29,7 @@ class Postgis(AutotoolsPackage):
|
|||||||
"gui",
|
"gui",
|
||||||
default=False,
|
default=False,
|
||||||
description=(
|
description=(
|
||||||
"Build with GUI support, creating shp2pgsql-gui graphical interface " "to shp2pgsql"
|
"Build with GUI support, creating shp2pgsql-gui graphical interface to shp2pgsql"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ class Povray(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"io-restrictions",
|
"io-restrictions",
|
||||||
default=True,
|
default=True,
|
||||||
description="Enable POV-Rays mechanism for control of I/O " "operations",
|
description="Enable POV-Rays mechanism for control of I/O operations",
|
||||||
)
|
)
|
||||||
variant("jpeg", default=True, description="Build with jpeg support")
|
variant("jpeg", default=True, description="Build with jpeg support")
|
||||||
variant("libpng", default=True, description="Build with libpng support")
|
variant("libpng", default=True, description="Build with libpng support")
|
||||||
|
@ -27,7 +27,7 @@ class PyCharm4py(PythonPackage):
|
|||||||
variant(
|
variant(
|
||||||
"mpi",
|
"mpi",
|
||||||
default=True,
|
default=True,
|
||||||
description="build Charm++ library with the MPI instead of TCP" " communication layer",
|
description="build Charm++ library with the MPI instead of TCP communication layer",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Builds its own charm++, so no charmpp dependency
|
# Builds its own charm++, so no charmpp dependency
|
||||||
|
@ -51,15 +51,13 @@ class PyUproot(PythonPackage):
|
|||||||
|
|
||||||
variant("xrootd", default=True, description="Build with xrootd support ")
|
variant("xrootd", default=True, description="Build with xrootd support ")
|
||||||
variant(
|
variant(
|
||||||
"lz4",
|
"lz4", default=True, description="Build with support for reading lz4-compressed rootfiles "
|
||||||
default=True,
|
|
||||||
description="Build with support for reading " "lz4-compressed rootfiles ",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
variant(
|
variant(
|
||||||
"zstd",
|
"zstd",
|
||||||
default=True,
|
default=True,
|
||||||
description="Build with support for reading " "zstd-compressed rootfiles ",
|
description="Build with support for reading zstd-compressed rootfiles ",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("python@2.6:2,3.5:", type=("build", "run"))
|
depends_on("python@2.6:2,3.5:", type=("build", "run"))
|
||||||
|
@ -132,15 +132,13 @@ class Qmcpack(CMakePackage, CudaPackage):
|
|||||||
conflicts("%gcc@:8", when="@3.15.0:")
|
conflicts("%gcc@:8", when="@3.15.0:")
|
||||||
|
|
||||||
# QMCPACK 3.10.0 increased the minimum requirements for compiler versions
|
# QMCPACK 3.10.0 increased the minimum requirements for compiler versions
|
||||||
newer_compiler_warning = (
|
newer_compiler_warning = "QMCPACK v3.10.0 or later requires a newer version of this compiler"
|
||||||
"QMCPACK v3.10.0 or later requires a newer " "version of this compiler"
|
|
||||||
)
|
|
||||||
conflicts("%gcc@:6", when="@3.10.0:", msg=newer_compiler_warning)
|
conflicts("%gcc@:6", when="@3.10.0:", msg=newer_compiler_warning)
|
||||||
conflicts("%intel@:18", when="@3.10.0:", msg=newer_compiler_warning)
|
conflicts("%intel@:18", when="@3.10.0:", msg=newer_compiler_warning)
|
||||||
conflicts("%clang@:6", when="@3.10.0:", msg=newer_compiler_warning)
|
conflicts("%clang@:6", when="@3.10.0:", msg=newer_compiler_warning)
|
||||||
|
|
||||||
# QMCPACK 3.6.0 or later requires support for C++14
|
# QMCPACK 3.6.0 or later requires support for C++14
|
||||||
cpp14_warning = "QMCPACK v3.6.0 or later requires a " "compiler with support for C++14"
|
cpp14_warning = "QMCPACK v3.6.0 or later requires a compiler with support for C++14"
|
||||||
conflicts("%gcc@:4", when="@3.6.0:", msg=cpp14_warning)
|
conflicts("%gcc@:4", when="@3.6.0:", msg=cpp14_warning)
|
||||||
conflicts("%intel@:17", when="@3.6.0:", msg=cpp14_warning)
|
conflicts("%intel@:17", when="@3.6.0:", msg=cpp14_warning)
|
||||||
conflicts("%clang@:3.4", when="@3.6.0:", msg=cpp14_warning)
|
conflicts("%clang@:3.4", when="@3.6.0:", msg=cpp14_warning)
|
||||||
@ -330,7 +328,7 @@ def cmake_args(self):
|
|||||||
cuda_arch = cuda_arch_list[0]
|
cuda_arch = cuda_arch_list[0]
|
||||||
if len(cuda_arch_list) > 1:
|
if len(cuda_arch_list) > 1:
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"QMCPACK only supports compilation for a single " "GPU architecture at a time"
|
"QMCPACK only supports compilation for a single GPU architecture at a time"
|
||||||
)
|
)
|
||||||
if "@3.14.0:" in self.spec:
|
if "@3.14.0:" in self.spec:
|
||||||
args.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch))
|
args.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch))
|
||||||
|
@ -191,7 +191,7 @@ class QuantumEspresso(CMakePackage, Package):
|
|||||||
)
|
)
|
||||||
conflicts(
|
conflicts(
|
||||||
"@6.3:6.4.0 hdf5=serial",
|
"@6.3:6.4.0 hdf5=serial",
|
||||||
msg="QE-to-QMCPACK wave function converter only " "supported with parallel HDF5",
|
msg="QE-to-QMCPACK wave function converter only supported with parallel HDF5",
|
||||||
)
|
)
|
||||||
conflicts("@:7.0 hdf5=none", msg="QE-to-QMCPACK wave function converter requires HDF5")
|
conflicts("@:7.0 hdf5=none", msg="QE-to-QMCPACK wave function converter requires HDF5")
|
||||||
# QE > 7.0, the converter for QMCPACK can be built without hdf5 enabled in QE.
|
# QE > 7.0, the converter for QMCPACK can be built without hdf5 enabled in QE.
|
||||||
|
@ -27,7 +27,7 @@ class R3d(CMakePackage):
|
|||||||
"r3d_max_verts",
|
"r3d_max_verts",
|
||||||
default="0",
|
default="0",
|
||||||
description=(
|
description=(
|
||||||
"Maximum number of vertices allowed in a polyhedron " "(versions 2021-03-10 or later)"
|
"Maximum number of vertices allowed in a polyhedron (versions 2021-03-10 or later)"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ class Regcm(AutotoolsPackage):
|
|||||||
variant(
|
variant(
|
||||||
"pnetcdf",
|
"pnetcdf",
|
||||||
default=False,
|
default=False,
|
||||||
description="Build NetCDF using the high performance parallel " "NetCDF implementation.",
|
description="Build NetCDF using the high performance parallel NetCDF implementation.",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("netcdf-c")
|
depends_on("netcdf-c")
|
||||||
@ -110,13 +110,13 @@ def configure_args(self):
|
|||||||
# compiler from GCC and Intel, which are the only compiler
|
# compiler from GCC and Intel, which are the only compiler
|
||||||
# supported by RegCM 4.7.x.
|
# supported by RegCM 4.7.x.
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"Architecture optimizations are available " "only for GCC and Intel compilers."
|
"Architecture optimizations are available only for GCC and Intel compilers."
|
||||||
)
|
)
|
||||||
|
|
||||||
if len(optimizations) > 1 and self.spec.satisfies(r"%gcc"):
|
if len(optimizations) > 1 and self.spec.satisfies(r"%gcc"):
|
||||||
# https://github.com/spack/spack/issues/974
|
# https://github.com/spack/spack/issues/974
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"The GCC compiler does not support " "multiple architecture optimizations."
|
"The GCC compiler does not support multiple architecture optimizations."
|
||||||
)
|
)
|
||||||
|
|
||||||
# RegCM configure script treats --disable-X as --enable-X, so we
|
# RegCM configure script treats --disable-X as --enable-X, so we
|
||||||
|
@ -64,7 +64,7 @@ class Relion(CMakePackage, CudaPackage):
|
|||||||
"allow_ctf_in_sagd",
|
"allow_ctf_in_sagd",
|
||||||
default=True,
|
default=True,
|
||||||
description=(
|
description=(
|
||||||
"Allow CTF-modulation in SAGD, " "as specified in Claim 1 of patent US10,282,513B2"
|
"Allow CTF-modulation in SAGD, as specified in Claim 1 of patent US10,282,513B2"
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
variant("altcpu", default=False, description="Use CPU acceleration", when="~cuda")
|
variant("altcpu", default=False, description="Use CPU acceleration", when="~cuda")
|
||||||
@ -72,7 +72,7 @@ class Relion(CMakePackage, CudaPackage):
|
|||||||
variant(
|
variant(
|
||||||
"external_motioncor2",
|
"external_motioncor2",
|
||||||
default=False,
|
default=False,
|
||||||
description="Have external motioncor2 available in addition to " "Relion builtin",
|
description="Have external motioncor2 available in addition to Relion builtin",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
@ -149,7 +149,7 @@ def install_pkgconfig(self):
|
|||||||
f.write("\n")
|
f.write("\n")
|
||||||
f.write("Name: rocksdb\n")
|
f.write("Name: rocksdb\n")
|
||||||
f.write(
|
f.write(
|
||||||
"Description: RocksDB: A Persistent Key-Value Store for" " Flash and RAM Storage\n"
|
"Description: RocksDB: A Persistent Key-Value Store for Flash and RAM Storage\n"
|
||||||
)
|
)
|
||||||
f.write("Version: {0}\n".format(self.spec.version))
|
f.write("Version: {0}\n".format(self.spec.version))
|
||||||
f.write("Cflags: -I${includedir}\n")
|
f.write("Cflags: -I${includedir}\n")
|
||||||
|
@ -120,7 +120,8 @@ def configure_args(self):
|
|||||||
"--disable-gdbtk",
|
"--disable-gdbtk",
|
||||||
"--disable-shared",
|
"--disable-shared",
|
||||||
"--with-expat",
|
"--with-expat",
|
||||||
"--with-system-zlib" "--without-guile",
|
"--with-system-zlib",
|
||||||
|
"--without-guile",
|
||||||
"--with-babeltrace",
|
"--with-babeltrace",
|
||||||
"--with-lzma",
|
"--with-lzma",
|
||||||
"--with-python",
|
"--with-python",
|
||||||
|
@ -204,7 +204,7 @@ class Root(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"gminimal",
|
"gminimal",
|
||||||
default=True,
|
default=True,
|
||||||
description="Ignore most of Root's feature defaults except for " "basic graphic options",
|
description="Ignore most of Root's feature defaults except for basic graphic options",
|
||||||
)
|
)
|
||||||
variant("gsl", default=True, description="Enable linking against shared libraries for GSL")
|
variant("gsl", default=True, description="Enable linking against shared libraries for GSL")
|
||||||
variant("http", default=False, description="Enable HTTP server support")
|
variant("http", default=False, description="Enable HTTP server support")
|
||||||
@ -227,7 +227,7 @@ class Root(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"mlp",
|
"mlp",
|
||||||
default=False,
|
default=False,
|
||||||
description="Enable support for TMultilayerPerceptron " "classes' federation",
|
description="Enable support for TMultilayerPerceptron classes' federation",
|
||||||
)
|
)
|
||||||
variant("mysql", default=False, description="Enable support for MySQL databases")
|
variant("mysql", default=False, description="Enable support for MySQL databases")
|
||||||
variant("opengl", default=True, description="Enable OpenGL support")
|
variant("opengl", default=True, description="Enable OpenGL support")
|
||||||
|
@ -121,7 +121,7 @@ def patch(self):
|
|||||||
if self.spec.satisfies("@0.8.2:0.9.1"):
|
if self.spec.satisfies("@0.8.2:0.9.1"):
|
||||||
filter_file(
|
filter_file(
|
||||||
"${FAST_MALLOC_LIB}",
|
"${FAST_MALLOC_LIB}",
|
||||||
"${FAST_MALLOC_LIB}\n" "${CMAKE_DL_LIBS}",
|
"${FAST_MALLOC_LIB}\n${CMAKE_DL_LIBS}",
|
||||||
"src/CMakeLists.txt",
|
"src/CMakeLists.txt",
|
||||||
string=True,
|
string=True,
|
||||||
)
|
)
|
||||||
|
@ -102,7 +102,7 @@ class Scr(CMakePackage):
|
|||||||
"dtcmp",
|
"dtcmp",
|
||||||
default=True,
|
default=True,
|
||||||
when="@:2",
|
when="@:2",
|
||||||
description="Build with DTCMP. " "Necessary to enable user directory naming at runtime",
|
description="Build with DTCMP. Necessary to enable user directory naming at runtime",
|
||||||
)
|
)
|
||||||
depends_on("dtcmp", when="+dtcmp")
|
depends_on("dtcmp", when="+dtcmp")
|
||||||
depends_on("dtcmp", when="@3:")
|
depends_on("dtcmp", when="@3:")
|
||||||
|
@ -40,7 +40,7 @@ class Serialbox(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"std-filesystem",
|
"std-filesystem",
|
||||||
default=True,
|
default=True,
|
||||||
description="use std::experimental::filesystem (no dependency on " "compiled boost libs)",
|
description="use std::experimental::filesystem (no dependency on compiled boost libs)",
|
||||||
)
|
)
|
||||||
|
|
||||||
depends_on("cmake@3.12:", type="build")
|
depends_on("cmake@3.12:", type="build")
|
||||||
@ -73,12 +73,12 @@ class Serialbox(CMakePackage):
|
|||||||
conflicts(
|
conflicts(
|
||||||
"+ftg",
|
"+ftg",
|
||||||
when="~fortran",
|
when="~fortran",
|
||||||
msg="the FortranTestGenerator frontend requires the Fortran " "interface",
|
msg="the FortranTestGenerator frontend requires the Fortran interface",
|
||||||
)
|
)
|
||||||
conflicts(
|
conflicts(
|
||||||
"+ftg",
|
"+ftg",
|
||||||
when="@:2.2.999",
|
when="@:2.2.999",
|
||||||
msg="the FortranTestGenerator frontend is supported only " "starting version 2.3.0",
|
msg="the FortranTestGenerator frontend is supported only starting version 2.3.0",
|
||||||
)
|
)
|
||||||
conflicts("+sdb", when="~python", msg="the stencil debugger requires the Python interface")
|
conflicts("+sdb", when="~python", msg="the stencil debugger requires the Python interface")
|
||||||
conflicts("+fortran", when="~c", msg="the Fortran interface requires the C interface")
|
conflicts("+fortran", when="~c", msg="the Fortran interface requires the C interface")
|
||||||
|
@ -42,7 +42,7 @@ class Sollve(CMakePackage):
|
|||||||
variant(
|
variant(
|
||||||
"link_dylib",
|
"link_dylib",
|
||||||
default=False,
|
default=False,
|
||||||
description="Build and link the libLLVM shared library rather " "than static",
|
description="Build and link the libLLVM shared library rather than static",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"all_targets",
|
"all_targets",
|
||||||
|
@ -58,7 +58,7 @@ def mpicxx_check(self):
|
|||||||
raise RuntimeError(msg)
|
raise RuntimeError(msg)
|
||||||
if "+fortran" in self.spec:
|
if "+fortran" in self.spec:
|
||||||
if "fmpi" not in self.spec["fortran"].libs.names:
|
if "fmpi" not in self.spec["fortran"].libs.names:
|
||||||
msg = "SPRNG requires fortran mpi " "libraries with mpi enabled"
|
msg = "SPRNG requires fortran mpi libraries with mpi enabled"
|
||||||
raise RuntimeError(msg)
|
raise RuntimeError(msg)
|
||||||
# raise RuntimeError("test")
|
# raise RuntimeError("test")
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ def get_variant(name, has_variant):
|
|||||||
|
|
||||||
# check for fts
|
# check for fts
|
||||||
def query_fts(version):
|
def query_fts(version):
|
||||||
return "CREATE VIRTUAL TABLE name " "USING fts{:d}(sender, title, body);".format(
|
return "CREATE VIRTUAL TABLE name USING fts{:d}(sender, title, body);".format(
|
||||||
version
|
version
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ def build(self, spec, prefix):
|
|||||||
elif plat.startswith("darwin"):
|
elif plat.startswith("darwin"):
|
||||||
make("-f", "Makefile.MacOS")
|
make("-f", "Makefile.MacOS")
|
||||||
else:
|
else:
|
||||||
raise InstallError("The communication mechanism %s is not" "supported" % plat)
|
raise InstallError("The communication mechanism %s is not supported" % plat)
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
install_tree("bin", prefix.bin)
|
install_tree("bin", prefix.bin)
|
||||||
|
@ -40,7 +40,7 @@ class Timemory(CMakePackage, PythonExtension):
|
|||||||
variant(
|
variant(
|
||||||
"python_hatchet",
|
"python_hatchet",
|
||||||
default=False,
|
default=False,
|
||||||
description="Build Python hatchet submodule " "(does not conflict with py-hatchet)",
|
description="Build Python hatchet submodule (does not conflict with py-hatchet)",
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"python_line_profiler",
|
"python_line_profiler",
|
||||||
@ -77,9 +77,7 @@ class Timemory(CMakePackage, PythonExtension):
|
|||||||
variant(
|
variant(
|
||||||
"kokkos_tools",
|
"kokkos_tools",
|
||||||
default=False,
|
default=False,
|
||||||
description=(
|
description=("Build generic kokkos-tools libraries, e.g. kp_timemory, kp_timemory_filter"),
|
||||||
"Build generic kokkos-tools libraries, e.g. " "kp_timemory, kp_timemory_filter"
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"kokkos_build_config",
|
"kokkos_build_config",
|
||||||
@ -122,7 +120,7 @@ class Timemory(CMakePackage, PythonExtension):
|
|||||||
variant(
|
variant(
|
||||||
"cpu_target",
|
"cpu_target",
|
||||||
default="auto",
|
default="auto",
|
||||||
description=("Build for specific cpu architecture (specify " "cpu-model)"),
|
description=("Build for specific cpu architecture (specify cpu-model)"),
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"use_arch",
|
"use_arch",
|
||||||
@ -143,7 +141,7 @@ class Timemory(CMakePackage, PythonExtension):
|
|||||||
variant(
|
variant(
|
||||||
"statistics",
|
"statistics",
|
||||||
default=True,
|
default=True,
|
||||||
description=("Build components w/ support for statistics " "(min/max/stddev)"),
|
description=("Build components w/ support for statistics (min/max/stddev)"),
|
||||||
)
|
)
|
||||||
variant(
|
variant(
|
||||||
"extra_optimizations",
|
"extra_optimizations",
|
||||||
@ -179,7 +177,7 @@ class Timemory(CMakePackage, PythonExtension):
|
|||||||
variant(
|
variant(
|
||||||
"require_packages",
|
"require_packages",
|
||||||
default=True,
|
default=True,
|
||||||
description=("find_package(...) resulting in NOTFOUND " "generates error"),
|
description=("find_package(...) resulting in NOTFOUND generates error"),
|
||||||
)
|
)
|
||||||
variant("compiler", default=True, description="Enable compiler instrumentation support")
|
variant("compiler", default=True, description="Enable compiler instrumentation support")
|
||||||
variant(
|
variant(
|
||||||
|
@ -42,7 +42,7 @@ class Turbomole(Package):
|
|||||||
|
|
||||||
def do_fetch(self, mirror_only=True):
|
def do_fetch(self, mirror_only=True):
|
||||||
if "+mpi" in self.spec and "+smp" in self.spec:
|
if "+mpi" in self.spec and "+smp" in self.spec:
|
||||||
raise InstallError("Can not have both SMP and MPI enabled in the " "same build.")
|
raise InstallError("Can not have both SMP and MPI enabled in the same build.")
|
||||||
super().do_fetch(mirror_only)
|
super().do_fetch(mirror_only)
|
||||||
|
|
||||||
def get_tm_arch(self):
|
def get_tm_arch(self):
|
||||||
|
@ -108,12 +108,12 @@ def edit(self, spec, prefix):
|
|||||||
)
|
)
|
||||||
filter_file(
|
filter_file(
|
||||||
"../../wannier90.x: .*",
|
"../../wannier90.x: .*",
|
||||||
"../../wannier90.x: $(OBJS) " "../wannier_prog.F90 $(LIBRARY)",
|
"../../wannier90.x: $(OBJS) ../wannier_prog.F90 $(LIBRARY)",
|
||||||
join_path(self.stage.source_path, "src/Makefile.2"),
|
join_path(self.stage.source_path, "src/Makefile.2"),
|
||||||
)
|
)
|
||||||
filter_file(
|
filter_file(
|
||||||
"../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90",
|
"../../postw90.x: $(OBJS_POST) $(POSTDIR)postw90.F90",
|
||||||
"../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90 $(LIBRARY)",
|
"../../postw90.x: $(OBJS_POST) $(POSTDIR)postw90.F90 $(LIBRARY)",
|
||||||
join_path(self.stage.source_path, "src/Makefile.2"),
|
join_path(self.stage.source_path, "src/Makefile.2"),
|
||||||
string=True,
|
string=True,
|
||||||
)
|
)
|
||||||
@ -139,8 +139,8 @@ def edit(self, spec, prefix):
|
|||||||
string=True,
|
string=True,
|
||||||
)
|
)
|
||||||
filter_file(
|
filter_file(
|
||||||
"$(AR) $(ARFLAGS) " "$(LIBRARY) $(OBJS2) $(OBJS)",
|
"$(AR) $(ARFLAGS) $(LIBRARY) $(OBJS2) $(OBJS)",
|
||||||
"$(MPIF90) $(FCOPTS) -shared -o " "$(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)",
|
"$(MPIF90) $(FCOPTS) -shared -o $(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)",
|
||||||
join_path(self.stage.source_path, "src/Makefile.2"),
|
join_path(self.stage.source_path, "src/Makefile.2"),
|
||||||
string=True,
|
string=True,
|
||||||
)
|
)
|
||||||
|
@ -79,7 +79,7 @@ class Whizard(AutotoolsPackage):
|
|||||||
depends_on("qgraf", when="+gosam")
|
depends_on("qgraf", when="+gosam")
|
||||||
|
|
||||||
depends_on(
|
depends_on(
|
||||||
"openloops@2.0.0: +compile_extra num_jobs=1 " "processes=eett,eevvjj,ppllj,tbw",
|
"openloops@2.0.0: +compile_extra num_jobs=1 processes=eett,eevvjj,ppllj,tbw",
|
||||||
when="+openloops",
|
when="+openloops",
|
||||||
)
|
)
|
||||||
depends_on("texlive", when="+latex")
|
depends_on("texlive", when="+latex")
|
||||||
|
@ -456,7 +456,7 @@ def configure(self, spec, prefix):
|
|||||||
break
|
break
|
||||||
if stallcounter > 300:
|
if stallcounter > 300:
|
||||||
raise InstallError(
|
raise InstallError(
|
||||||
"Output stalled for 30s, presumably an " "undetected question."
|
"Output stalled for 30s, presumably an undetected question."
|
||||||
)
|
)
|
||||||
time.sleep(0.1) # Try to do a bit of rate limiting
|
time.sleep(0.1) # Try to do a bit of rate limiting
|
||||||
stallcounter += 1
|
stallcounter += 1
|
||||||
@ -509,7 +509,7 @@ def build(self, spec, prefix):
|
|||||||
result = self.run_compile_script()
|
result = self.run_compile_script()
|
||||||
|
|
||||||
if not result:
|
if not result:
|
||||||
tty.warn("Compilation failed first time (WRF idiosyncrasies?) " "- trying again...")
|
tty.warn("Compilation failed first time (WRF idiosyncrasies?) - trying again...")
|
||||||
result = self.run_compile_script()
|
result = self.run_compile_script()
|
||||||
|
|
||||||
if not result:
|
if not result:
|
||||||
|
@ -40,9 +40,7 @@ class Wt(CMakePackage):
|
|||||||
variant("postgresql", default=False, description="create PostgreSQL DBO")
|
variant("postgresql", default=False, description="create PostgreSQL DBO")
|
||||||
# variant('firebird', default=False, description='create Firebird DBO')
|
# variant('firebird', default=False, description='create Firebird DBO')
|
||||||
variant(
|
variant(
|
||||||
"pango",
|
"pango", default=True, description="improved font support in PDF and raster image painting"
|
||||||
default=True,
|
|
||||||
description="improved font support in PDF and raster image " "painting",
|
|
||||||
)
|
)
|
||||||
variant("zlib", default=True, description="compression in the built-in httpd")
|
variant("zlib", default=True, description="compression in the built-in httpd")
|
||||||
# variant('fastcgi', default=False,
|
# variant('fastcgi', default=False,
|
||||||
|
@ -141,7 +141,7 @@ def edit(self, pkg, spec, prefix):
|
|||||||
|
|
||||||
class GenericBuilder(spack.build_systems.generic.GenericBuilder, SetupEnvironment):
|
class GenericBuilder(spack.build_systems.generic.GenericBuilder, SetupEnvironment):
|
||||||
def install(self, pkg, spec, prefix):
|
def install(self, pkg, spec, prefix):
|
||||||
nmake("-f" "win32\\Makefile.msc")
|
nmake("-f", "win32\\Makefile.msc")
|
||||||
build_dir = pkg.stage.source_path
|
build_dir = pkg.stage.source_path
|
||||||
install_tree = {
|
install_tree = {
|
||||||
"bin": glob.glob(os.path.join(build_dir, "*.dll")),
|
"bin": glob.glob(os.path.join(build_dir, "*.dll")),
|
||||||
|
Loading…
Reference in New Issue
Block a user