Compare commits
9 Commits
fix-ams
...
force-ever
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0ffeaa51d6 | ||
![]() |
763b35a2e0 | ||
![]() |
12280f864c | ||
![]() |
253ba05732 | ||
![]() |
195b869e1c | ||
![]() |
393961ffd6 | ||
![]() |
392a58e9be | ||
![]() |
0e8e97a811 | ||
![]() |
43a0cbe7a2 |
23
.github/workflows/valid-style.yml
vendored
23
.github/workflows/valid-style.yml
vendored
@@ -121,31 +121,14 @@ jobs:
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
repository: haampie/circular-import-fighter
|
||||
ref: b5d6ce9be35f602cca7d5a6aa0259fca10639cca
|
||||
ref: 9a2c728c97f594dec0210e7f85cb7167eaf29176
|
||||
path: circular-import-fighter
|
||||
- name: Install dependencies
|
||||
working-directory: circular-import-fighter
|
||||
run: make -j dependencies
|
||||
- name: Problematic imports before
|
||||
- name: Circular import check
|
||||
working-directory: circular-import-fighter
|
||||
run: make SPACK_ROOT=../old SUFFIX=.old
|
||||
- name: Problematic imports after
|
||||
working-directory: circular-import-fighter
|
||||
run: make SPACK_ROOT=../new SUFFIX=.new
|
||||
- name: Compare import cycles
|
||||
working-directory: circular-import-fighter
|
||||
run: |
|
||||
edges_before="$(head -n1 solution.old)"
|
||||
edges_after="$(head -n1 solution.new)"
|
||||
if [ "$edges_after" -gt "$edges_before" ]; then
|
||||
printf '\033[1;31mImport check failed: %s imports need to be deleted, ' "$edges_after"
|
||||
printf 'previously this was %s\033[0m\n' "$edges_before"
|
||||
printf 'Compare \033[1;97m"Problematic imports before"\033[0m and '
|
||||
printf '\033[1;97m"Problematic imports after"\033[0m.\n'
|
||||
exit 1
|
||||
else
|
||||
printf '\033[1;32mImport check passed: %s <= %s\033[0m\n' "$edges_after" "$edges_before"
|
||||
fi
|
||||
run: make -j compare "SPACK_ROOT=../old ../new"
|
||||
|
||||
# Further style checks from pylint
|
||||
pylint:
|
||||
|
@@ -504,11 +504,22 @@ class ConfigSetAction(argparse.Action):
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, option_strings, dest, const, default=None, required=False, help=None, metavar=None
|
||||
self,
|
||||
option_strings,
|
||||
dest,
|
||||
const,
|
||||
default=None,
|
||||
required=False,
|
||||
help=None,
|
||||
metavar=None,
|
||||
require_environment=False,
|
||||
):
|
||||
# save the config option we're supposed to set
|
||||
self.config_path = dest
|
||||
|
||||
# save whether the option requires an active env
|
||||
self.require_environment = require_environment
|
||||
|
||||
# destination is translated to a legal python identifier by
|
||||
# substituting '_' for ':'.
|
||||
dest = dest.replace(":", "_")
|
||||
@@ -524,6 +535,11 @@ def __init__(
|
||||
)
|
||||
|
||||
def __call__(self, parser, namespace, values, option_string):
|
||||
if self.require_environment and not ev.active_environment():
|
||||
raise argparse.ArgumentTypeError(
|
||||
f"argument '{self.option_strings[-1]}' requires an environment"
|
||||
)
|
||||
|
||||
# Retrieve the name of the config option and set it to
|
||||
# the const from the constructor or a value from the CLI.
|
||||
# Note that this is only called if the argument is actually
|
||||
@@ -545,6 +561,16 @@ def add_concretizer_args(subparser):
|
||||
Just substitute ``_`` for ``:``.
|
||||
"""
|
||||
subgroup = subparser.add_argument_group("concretizer arguments")
|
||||
subgroup.add_argument(
|
||||
"-f",
|
||||
"--force",
|
||||
action=ConfigSetAction,
|
||||
require_environment=True,
|
||||
dest="concretizer:force",
|
||||
const=True,
|
||||
default=False,
|
||||
help="allow changes to concretized specs in spack.lock (in an env)",
|
||||
)
|
||||
subgroup.add_argument(
|
||||
"-U",
|
||||
"--fresh",
|
||||
|
@@ -15,9 +15,6 @@
|
||||
|
||||
|
||||
def setup_parser(subparser):
|
||||
subparser.add_argument(
|
||||
"-f", "--force", action="store_true", help="re-concretize even if already concretized"
|
||||
)
|
||||
subparser.add_argument(
|
||||
"--test",
|
||||
default=None,
|
||||
@@ -43,7 +40,7 @@ def concretize(parser, args):
|
||||
tests = False
|
||||
|
||||
with env.write_transaction():
|
||||
concretized_specs = env.concretize(force=args.force, tests=tests)
|
||||
concretized_specs = env.concretize(tests=tests)
|
||||
if not args.quiet:
|
||||
if concretized_specs:
|
||||
tty.msg(f"Concretized {plural(len(concretized_specs), 'spec')}:")
|
||||
|
@@ -1427,7 +1427,7 @@ def is_develop(self, spec):
|
||||
"""Returns true when the spec is built from local sources"""
|
||||
return spec.name in self.dev_specs
|
||||
|
||||
def concretize(self, force=False, tests=False):
|
||||
def concretize(self, tests=False):
|
||||
"""Concretize user_specs in this environment.
|
||||
|
||||
Only concretizes specs that haven't been concretized yet unless
|
||||
@@ -1437,8 +1437,6 @@ def concretize(self, force=False, tests=False):
|
||||
write out a lockfile containing concretized specs.
|
||||
|
||||
Arguments:
|
||||
force (bool): re-concretize ALL specs, even those that were
|
||||
already concretized
|
||||
tests (bool or list or set): False to run no tests, True to test
|
||||
all packages, or a list of package names to run tests for some
|
||||
|
||||
@@ -1446,7 +1444,7 @@ def concretize(self, force=False, tests=False):
|
||||
List of specs that have been concretized. Each entry is a tuple of
|
||||
the user spec and the corresponding concretized spec.
|
||||
"""
|
||||
if force:
|
||||
if spack.config.get("concretizer:force", False):
|
||||
# Clear previously concretized specs
|
||||
self.concretized_user_specs = []
|
||||
self.concretized_order = []
|
||||
|
@@ -383,6 +383,7 @@ def create_opener():
|
||||
"""Create an opener that can handle OCI authentication."""
|
||||
opener = urllib.request.OpenerDirector()
|
||||
for handler in [
|
||||
urllib.request.ProxyHandler(),
|
||||
urllib.request.UnknownHandler(),
|
||||
urllib.request.HTTPSHandler(context=spack.util.web.ssl_create_default_context()),
|
||||
spack.util.web.SpackHTTPDefaultErrorHandler(),
|
||||
|
@@ -15,6 +15,7 @@
|
||||
"type": "object",
|
||||
"additionalProperties": False,
|
||||
"properties": {
|
||||
"force": {"type": "boolean", "default": False},
|
||||
"reuse": {
|
||||
"oneOf": [
|
||||
{"type": "boolean"},
|
||||
|
@@ -140,7 +140,8 @@ def cmake_args(self):
|
||||
if spec.satisfies("+torch"):
|
||||
args.append("-DWITH_TORCH=On")
|
||||
args.append(
|
||||
"-DTorch_DIR={0}/lib/python{1}/site-packages/torch/share/cmake/Torch".format(
|
||||
"-DTorch_DIR={0}/lib/python{1}/site-packages"
|
||||
"/torch/share/cmake/Torch".format(
|
||||
spec["py-torch"].prefix, spec["python"].version.up_to(2)
|
||||
)
|
||||
)
|
||||
|
@@ -54,7 +54,7 @@ class Armcomputelibrary(SConsPackage):
|
||||
variant(
|
||||
"multi_isa",
|
||||
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(
|
||||
"target_arch",
|
||||
|
@@ -61,7 +61,7 @@ class Atlas(Package):
|
||||
"tune_cpu",
|
||||
default=-1,
|
||||
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(
|
||||
|
@@ -8,9 +8,9 @@
|
||||
|
||||
def async_api_validator(pkg_name, variant_name, values):
|
||||
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:
|
||||
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):
|
||||
|
@@ -376,7 +376,9 @@ def initconfig_hardware_entries(self):
|
||||
if "+fortran" in spec and self.is_fortran_compiler("xlf"):
|
||||
# Grab lib directory for the current fortran compiler
|
||||
libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.fc)), "lib")
|
||||
description = "Adds a missing rpath for libraries associated with the fortran compiler"
|
||||
description = (
|
||||
"Adds a missing rpath for libraries " "associated with the fortran compiler"
|
||||
)
|
||||
|
||||
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
||||
|
||||
|
@@ -42,7 +42,7 @@ class Bcftools(AutotoolsPackage):
|
||||
variant(
|
||||
"libgsl",
|
||||
default=False,
|
||||
description="build options that require the GNU scientific library",
|
||||
description="build options that require the GNU scientific " "library",
|
||||
)
|
||||
|
||||
variant(
|
||||
|
@@ -38,7 +38,7 @@ def llnl_link_helpers(options, spec, compiler):
|
||||
options.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags, description))
|
||||
|
||||
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
|
||||
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)
|
||||
|
@@ -40,7 +40,9 @@ class Bohrium(CMakePackage, CudaPackage):
|
||||
variant("node", default=True, description="Build the node vector engine manager")
|
||||
variant("proxy", default=False, description="Build the proxy vector engine manager")
|
||||
variant(
|
||||
"python", default=True, description="Build the numpy-like bridge to enable use from python"
|
||||
"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")
|
||||
|
||||
|
@@ -237,7 +237,7 @@ def libs(self):
|
||||
values=("global", "protected", "hidden"),
|
||||
default="hidden",
|
||||
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
|
||||
|
@@ -53,7 +53,7 @@ class Bzip2(Package, SourcewarePackage):
|
||||
@classmethod
|
||||
def determine_version(cls, exe):
|
||||
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
|
||||
|
||||
# override default implementation
|
||||
|
@@ -71,7 +71,7 @@ class Care(CachedCMakePackage, CudaPackage, ROCmPackage):
|
||||
variant(
|
||||
"implicit_conversions",
|
||||
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("benchmarks", default=False, description="Build benchmarks.")
|
||||
|
@@ -61,7 +61,7 @@ class CcsQcd(MakefilePackage):
|
||||
def edit(self, spec, prefix):
|
||||
if spec.satisfies("%gcc") and spec.satisfies("arch=aarch64:"):
|
||||
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(
|
||||
"FFLAGS =.*",
|
||||
|
@@ -131,7 +131,7 @@ class Cgal(CMakePackage):
|
||||
conflicts(
|
||||
"~header_only",
|
||||
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):
|
||||
|
@@ -351,7 +351,7 @@ def install(self, spec, prefix):
|
||||
# This is a Charm++ limitation; it would lead to a
|
||||
# build error
|
||||
raise InstallError(
|
||||
"The +tcp variant requires the backend=netlrts communication mechanism"
|
||||
"The +tcp variant requires " "the backend=netlrts communication mechanism"
|
||||
)
|
||||
options.append("tcp")
|
||||
if spec.satisfies("+omp"):
|
||||
|
@@ -31,9 +31,11 @@ def edit(self, spec, prefix):
|
||||
# Replace -fopenmp with self.compiler.openmp_flag
|
||||
makefile.filter("-fopenmp", self.compiler.openmp_flag)
|
||||
# Replace CXX with CXXFLAGS
|
||||
cxx11_flag = self.compiler.cxx11_flag
|
||||
makefile.filter(
|
||||
"CXX.*=.*", rf"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\" $(OMPFLAGS) {cxx11_flag}"
|
||||
"CXX.*=.*",
|
||||
r"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\""
|
||||
" $(OMPFLAGS)"
|
||||
" {0}".format(self.compiler.cxx11_flag),
|
||||
)
|
||||
makefile.filter("$(CXX)", "$(CXX) $(CXXFLAGS)", string=True)
|
||||
# Replace -I$(SAMDIR) with -I$(SAMINC)
|
||||
|
@@ -78,7 +78,9 @@ def install(self, spec, prefix):
|
||||
# rewrite the Makefile to use Spack's options all the time
|
||||
if spec.satisfies("%gcc"):
|
||||
if not spec.satisfies("%gcc@6:"):
|
||||
raise InstallError("When using GCC, CosmoMC requires version gcc@6: for building")
|
||||
raise InstallError(
|
||||
"When using GCC, " "CosmoMC requires version gcc@6: for building"
|
||||
)
|
||||
choosecomp = "ifortErr=1" # choose gfortran
|
||||
elif spec.satisfies("%intel"):
|
||||
if not spec.satifies("%intel@14:"):
|
||||
|
@@ -38,10 +38,11 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
git = "https://github.com/cp2k/cp2k.git"
|
||||
list_url = "https://github.com/cp2k/cp2k/releases"
|
||||
|
||||
maintainers("dev-zero", "mtaillefumier")
|
||||
maintainers("dev-zero", "mtaillefumier", "RMeli", "abussy")
|
||||
|
||||
license("GPL-2.0-or-later")
|
||||
|
||||
version("2025.1", sha256="65c8ad5488897b0f995919b9fa77f2aba4b61677ba1e3c19bb093d5c08a8ce1d")
|
||||
version("2024.3", sha256="a6eeee773b6b1fb417def576e4049a89a08a0ed5feffcd7f0b33c7d7b48f19ba")
|
||||
version("2024.2", sha256="cc3e56c971dee9e89b705a1103765aba57bf41ad39a11c89d3de04c8b8cdf473")
|
||||
version("2024.1", sha256="a7abf149a278dfd5283dc592a2c4ae803b37d040df25d62a5e35af5c4557668f")
|
||||
@@ -115,6 +116,7 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
)
|
||||
variant("pytorch", default=False, description="Enable libtorch support")
|
||||
variant("quip", default=False, description="Enable quip support")
|
||||
variant("dftd4", when="@2024.2:", default=False, description="Enable DFT-D4 support")
|
||||
variant("mpi_f08", default=False, description="Use MPI F08 module")
|
||||
variant("smeagol", default=False, description="Enable libsmeagol support", when="@2025.2:")
|
||||
|
||||
@@ -293,6 +295,8 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
|
||||
depends_on("spglib", when="+spglib")
|
||||
|
||||
depends_on("dftd4@3.6.0: build_system=cmake", when="+dftd4")
|
||||
|
||||
with when("build_system=cmake"):
|
||||
depends_on("cmake@3.22:", type="build")
|
||||
|
||||
@@ -624,6 +628,12 @@ def edit(self, pkg, spec, prefix):
|
||||
ldflags += [spglib.search_flags]
|
||||
libs.append(spglib.ld_flags)
|
||||
|
||||
if spec.satisfies("+dftd4"):
|
||||
cppflags += ["-D__DFTD4"]
|
||||
dftd4 = spec["dftd4"].libs
|
||||
ldflags += [dftd4.search_flags]
|
||||
libs.append(dftd4.ld_flags)
|
||||
|
||||
if spec.satisfies("+smeagol"):
|
||||
cppflags += ["-D__SMEAGOL"]
|
||||
smeagol = spec["libsmeagol"].libs
|
||||
@@ -801,10 +811,9 @@ def edit(self, pkg, spec, prefix):
|
||||
mkf.write("include {0}\n".format(self.pkg["plumed"].plumed_inc))
|
||||
|
||||
mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
|
||||
mkf.write(f"FC = {fc}\n")
|
||||
mkf.write(f"CC = {cc}\n")
|
||||
mkf.write(f"CXX = {cxx}\n")
|
||||
mkf.write(f"LD = {fc}\n")
|
||||
mkf.write(
|
||||
"FC = {0}\n" "CC = {1}\n" "CXX = {2}\n" "LD = {3}\n".format(fc, cc, cxx, fc)
|
||||
)
|
||||
|
||||
if spec.satisfies("%intel"):
|
||||
intel_bin_dir = ancestor(pkg.compiler.cc)
|
||||
@@ -1004,6 +1013,7 @@ def cmake_args(self):
|
||||
self.define_from_variant("CP2K_USE_VORI", "libvori"),
|
||||
self.define_from_variant("CP2K_USE_SPLA", "spla"),
|
||||
self.define_from_variant("CP2K_USE_QUIP", "quip"),
|
||||
self.define_from_variant("CP2K_USE_DFTD4", "dftd4"),
|
||||
self.define_from_variant("CP2K_USE_MPI_F08", "mpi_f08"),
|
||||
self.define_from_variant("CP2K_USE_LIBSMEAGOL", "smeagol"),
|
||||
]
|
||||
|
@@ -153,7 +153,7 @@ class DavSdk(BundlePackage, CudaPackage, ROCmPackage):
|
||||
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
||||
# required version since GPU capability is desired for ECP
|
||||
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",
|
||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||
)
|
||||
|
@@ -418,16 +418,18 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
conflicts(
|
||||
"+adol-c",
|
||||
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(
|
||||
"+adol-c",
|
||||
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(
|
||||
"+slepc", when="~petsc", msg="It is not possible to enable slepc interfaces without petsc."
|
||||
"+slepc",
|
||||
when="~petsc",
|
||||
msg="It is not possible to enable slepc interfaces " "without petsc.",
|
||||
)
|
||||
|
||||
def cmake_args(self):
|
||||
|
@@ -60,7 +60,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
"chimes",
|
||||
default=False,
|
||||
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(
|
||||
"elsi",
|
||||
@@ -70,7 +70,9 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
when="+mpi",
|
||||
)
|
||||
variant(
|
||||
"gpu", default=False, description="Use the MAGMA library for GPU accelerated computation"
|
||||
"gpu",
|
||||
default=False,
|
||||
description="Use the MAGMA library " "for GPU accelerated computation",
|
||||
)
|
||||
variant(
|
||||
"mbd",
|
||||
@@ -105,7 +107,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
variant(
|
||||
"sockets",
|
||||
default=False,
|
||||
description="Whether the socket library (external control) should be linked",
|
||||
description="Whether the socket library " "(external control) should be linked",
|
||||
)
|
||||
variant(
|
||||
"transport",
|
||||
@@ -128,7 +130,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
"dftd3",
|
||||
default=False,
|
||||
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:")
|
||||
|
@@ -75,7 +75,8 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"public",
|
||||
f"-//OASIS//ENTITIES DocBook XML Additional General Entities V{version}//EN",
|
||||
"-//OASIS//ENTITIES DocBook XML Additional General Entities "
|
||||
"V{0}//EN".format(version),
|
||||
f"file://{prefix}/dbgenent.mod",
|
||||
docbook,
|
||||
)
|
||||
@@ -115,7 +116,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"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",
|
||||
docbook,
|
||||
)
|
||||
@@ -123,7 +124,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"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",
|
||||
docbook,
|
||||
)
|
||||
@@ -139,7 +140,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"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",
|
||||
docbook,
|
||||
)
|
||||
|
@@ -56,7 +56,7 @@ class Dyninst(CMakePackage):
|
||||
variant(
|
||||
"openmp",
|
||||
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")
|
||||
|
@@ -123,13 +123,13 @@ class Eccodes(CMakePackage):
|
||||
conflicts(
|
||||
"+netcdf",
|
||||
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(
|
||||
"~tools",
|
||||
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():
|
||||
|
@@ -65,7 +65,7 @@ class Eckit(CMakePackage):
|
||||
variant(
|
||||
"unicode",
|
||||
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("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
|
||||
# required version since GPU capability is desired for ECP
|
||||
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",
|
||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||
)
|
||||
|
@@ -39,7 +39,7 @@ class Elemental(CMakePackage):
|
||||
variant(
|
||||
"int64_blas",
|
||||
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(
|
||||
@@ -57,7 +57,7 @@ class Elemental(CMakePackage):
|
||||
variant(
|
||||
"mpfr",
|
||||
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
|
||||
|
@@ -12,7 +12,7 @@ class Embree(CMakePackage):
|
||||
url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
|
||||
maintainers("aumuell")
|
||||
|
||||
license("Apache-2.0")
|
||||
license("Apache-2.0", checked_by="wdconinc")
|
||||
|
||||
version("4.3.3", sha256="8a3bc3c3e21aa209d9861a28f8ba93b2f82ed0dc93341dddac09f1f03c36ef2d")
|
||||
version("4.3.2", sha256="dc7bb6bac095b2e7bc64321435acd07c6137d6d60e4b79ec07bb0b215ddf81cb")
|
||||
@@ -60,9 +60,10 @@ def cmake_args(self):
|
||||
spec = self.spec
|
||||
|
||||
args = [
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DEMBREE_TUTORIALS=OFF",
|
||||
"-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=ON",
|
||||
self.define("BUILD_TESTING", self.run_tests),
|
||||
self.define("EMBREE_TUTORIALS", self.run_tests),
|
||||
self.define("EMBREE_TUTORIALS_GLFW", False),
|
||||
self.define("EMBREE_IGNORE_CMAKE_CXX_FLAGS", True),
|
||||
self.define_from_variant("EMBREE_ISPC_SUPPORT", "ispc"),
|
||||
]
|
||||
|
||||
|
@@ -48,7 +48,7 @@ def patch(self):
|
||||
)
|
||||
edit = FileFilter("CMakeLists.txt")
|
||||
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,
|
||||
)
|
||||
|
||||
|
@@ -31,12 +31,12 @@ class Flamemaster(CMakePackage):
|
||||
variant(
|
||||
"bilin_omega",
|
||||
default=True,
|
||||
description="Compile with bilinear interpolation for collision integrals (omega)",
|
||||
description="Compile with bilinear interpolation" "for collision integrals (omega)",
|
||||
)
|
||||
variant(
|
||||
"combustion",
|
||||
default=False,
|
||||
description="Integrate comustion libraries for kinetics, thermodynamics, and transport",
|
||||
description="Integrate comustion libraries" "for kinetics, thermodynamics, and transport",
|
||||
)
|
||||
variant(
|
||||
"fortran_code",
|
||||
@@ -109,7 +109,7 @@ class Flamemaster(CMakePackage):
|
||||
variant(
|
||||
"tests",
|
||||
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(
|
||||
"third_party_in_build_dir",
|
||||
|
@@ -63,7 +63,7 @@ class Flexi(CMakePackage):
|
||||
"parabolic",
|
||||
default=True,
|
||||
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(
|
||||
|
@@ -66,7 +66,7 @@ class Fortrilinos(CMakePackage):
|
||||
depends_on("trilinos gotype=long_long")
|
||||
# Full trilinos dependencies
|
||||
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")
|
||||
|
@@ -35,7 +35,9 @@ class Freeipmi(AutotoolsPackage):
|
||||
def configure_args(self):
|
||||
# FIXME: If root checking of root installation is added fix this:
|
||||
# Discussed in issue #4432
|
||||
tty.warn("Requires 'root' for bmc-watchdog.service installation to /lib/systemd/system/ !")
|
||||
tty.warn(
|
||||
"Requires 'root' for bmc-watchdog.service installation to" " /lib/systemd/system/ !"
|
||||
)
|
||||
|
||||
args = [
|
||||
"--prefix={0}".format(prefix),
|
||||
|
@@ -599,7 +599,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For GCC 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
|
||||
compilers = extra_attributes["compilers"]
|
||||
@@ -798,11 +800,6 @@ def configure_args(self):
|
||||
"--with-as=" + binutils.join("as"),
|
||||
]
|
||||
)
|
||||
elif spec.satisfies("%apple-clang@15:"):
|
||||
# https://github.com/iains/gcc-darwin-arm64/issues/117
|
||||
# https://github.com/iains/gcc-12-branch/issues/22
|
||||
# https://github.com/iains/gcc-13-branch/issues/8
|
||||
options.append("--with-ld=/Library/Developer/CommandLineTools/usr/bin/ld-classic")
|
||||
|
||||
# enable_bootstrap
|
||||
if spec.satisfies("+bootstrap"):
|
||||
@@ -1088,7 +1085,8 @@ def detect_gdc(self):
|
||||
return candidate_gdc
|
||||
else:
|
||||
raise InstallError(
|
||||
f"Can't resolve ambiguity when detecting GDC for %{self.compiler.spec}",
|
||||
"Cannot resolve ambiguity when detecting GDC that belongs to "
|
||||
"%{0}".format(self.compiler.spec),
|
||||
long_msg="The candidates are:{0}{0}{1}{0}".format(
|
||||
error_nl,
|
||||
error_nl.join(
|
||||
|
@@ -12,7 +12,7 @@ class GhostscriptFonts(Package, SourceforgePackage):
|
||||
|
||||
homepage = "https://ghostscript.com/"
|
||||
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")
|
||||
|
@@ -55,7 +55,7 @@ class Graphviz(AutotoolsPackage):
|
||||
variant(
|
||||
lang,
|
||||
default=False,
|
||||
description="Enable for optional {0} language bindings".format(lang),
|
||||
description="Enable for optional {0} language " "bindings".format(lang),
|
||||
)
|
||||
|
||||
# Feature variants
|
||||
@@ -147,7 +147,7 @@ class Graphviz(AutotoolsPackage):
|
||||
conflicts(
|
||||
"%gcc@:5.9",
|
||||
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):
|
||||
|
@@ -53,7 +53,7 @@ class Grpc(CMakePackage):
|
||||
variant(
|
||||
"codegen",
|
||||
default=True,
|
||||
description="Builds code generation plugins for protobuf compiler (protoc)",
|
||||
description="Builds code generation plugins for protobuf " "compiler (protoc)",
|
||||
)
|
||||
variant(
|
||||
"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'
|
||||
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
|
||||
# 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):
|
||||
# No try/except here, fix the condition above instead:
|
||||
symlink("h5fc", "h5pfc")
|
||||
|
@@ -26,7 +26,7 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"timemory",
|
||||
default=False,
|
||||
description="Enable timemory interface. Requires timemory installation.",
|
||||
description="Enable timemory interface. Requires timemory " "installation.",
|
||||
)
|
||||
variant(
|
||||
"mpip",
|
||||
@@ -37,7 +37,7 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"tailfit",
|
||||
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(
|
||||
@@ -50,14 +50,14 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"qalen",
|
||||
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,
|
||||
multi=False,
|
||||
)
|
||||
variant(
|
||||
"qchunk",
|
||||
default="10000",
|
||||
description="Max size of each batch extracted from the dataset.",
|
||||
description="Max size of each batch extracted from the " "dataset.",
|
||||
values=int,
|
||||
multi=False,
|
||||
)
|
||||
|
@@ -85,7 +85,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
|
||||
variant(
|
||||
"deepchecking",
|
||||
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(
|
||||
|
@@ -181,8 +181,7 @@ def configure_args(self):
|
||||
"--with-openjdk-checksum=no",
|
||||
"--with-nashorn-src-zip=" + self.stage[8].archive_file,
|
||||
"--with-nashorn-checksum=no",
|
||||
"--disable-maintainer-mode",
|
||||
"--disable-downloading",
|
||||
"--disable-maintainer-mode" "--disable-downloading",
|
||||
"--disable-system-pcsc",
|
||||
"--disable-system-sctp",
|
||||
"--disable-system-kerberos",
|
||||
|
@@ -38,7 +38,7 @@ class JsonC(CMakePackage, AutotoolsPackage):
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"-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",
|
||||
)
|
||||
|
||||
|
@@ -68,7 +68,7 @@ class Jsoncpp(CMakePackage, MesonPackage):
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"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",
|
||||
)
|
||||
|
||||
|
@@ -45,7 +45,7 @@ class Libcint(CMakePackage):
|
||||
variant(
|
||||
"pypzpx",
|
||||
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("shared", default=True, description="Build the shared library")
|
||||
|
@@ -59,7 +59,7 @@ class Libint(AutotoolsPackage):
|
||||
"fma",
|
||||
default=False,
|
||||
description=(
|
||||
"Generate code utilizing FMA (requires capable CPU and recent enough compiler)"
|
||||
"Generate code utilizing FMA" " (requires capable CPU and recent enough compiler)"
|
||||
),
|
||||
)
|
||||
|
||||
|
@@ -73,7 +73,9 @@ class Libunwind(AutotoolsPackage):
|
||||
variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")
|
||||
|
||||
variant(
|
||||
"zlib", default=False, description="Support zlib compressed symbol tables (1.5 and later)."
|
||||
"zlib",
|
||||
default=False,
|
||||
description="Support zlib compressed symbol tables " "(1.5 and later).",
|
||||
)
|
||||
|
||||
# The libunwind releases contain the autotools generated files,
|
||||
|
@@ -55,7 +55,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
|
||||
variant(
|
||||
"polly",
|
||||
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(
|
||||
@@ -288,7 +288,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For LLVM 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
compilers = extra_attributes["compilers"]
|
||||
for key in ("c", "cxx"):
|
||||
|
@@ -724,7 +724,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For LLVM 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
compilers = extra_attributes["compilers"]
|
||||
for key in ("c", "cxx"):
|
||||
|
@@ -41,7 +41,7 @@ class Mariadb(CMakePackage):
|
||||
variant(
|
||||
"nonblocking",
|
||||
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")
|
||||
|
@@ -56,7 +56,7 @@ def patch(self):
|
||||
# workaround anonymous version tag linker error for the NVIDIA
|
||||
# compilers
|
||||
filter_file(
|
||||
"${wl}-version-script ${wl}$output_objdir/$libname.ver",
|
||||
"${wl}-version-script " "${wl}$output_objdir/$libname.ver",
|
||||
"",
|
||||
"configure",
|
||||
string=True,
|
||||
|
@@ -83,7 +83,7 @@ class Mvapich2(MpichEnvironmentModifications, AutotoolsPackage):
|
||||
description="List of the process managers to activate",
|
||||
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
||||
.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_non_feature_values("auto"),
|
||||
)
|
||||
|
@@ -182,7 +182,7 @@ def construct_ldflags(self):
|
||||
spec = self.spec
|
||||
xpmem_ldflags = ""
|
||||
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
|
||||
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")
|
||||
copy("Linux-AVX512-icc.arch", arch_filename)
|
||||
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)
|
||||
else:
|
||||
return False
|
||||
|
@@ -81,7 +81,7 @@ def patch(self):
|
||||
if self.spec.satisfies("@:22_0_0 ^boost@1.70:"):
|
||||
with working_dir(join_path("include", "corelib")):
|
||||
filter_file(
|
||||
("unit_test::ut_detail::ignore_unused_variable_warning"),
|
||||
("unit_test::ut_detail::" "ignore_unused_variable_warning"),
|
||||
"ignore_unused",
|
||||
"test_boost.hpp",
|
||||
string=True,
|
||||
|
@@ -162,7 +162,7 @@ def patch(self):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
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_install_config()
|
||||
|
@@ -151,7 +151,9 @@ def install(self, spec, prefix):
|
||||
filter_file(r"\$\(OLAGS\)", "-qextname $(OLAGS)", join_path("postnek", "makefile"))
|
||||
# Define 'rename_' function that calls 'rename'
|
||||
with open(join_path("postnek", "xdriver.c"), "a") as xdriver:
|
||||
xdriver.write("\nvoid rename_(char *from, char *to)\n{\n rename(from, to);\n}\n")
|
||||
xdriver.write(
|
||||
"\nvoid rename_(char *from, char *to)\n{\n" " rename(from, to);\n}\n"
|
||||
)
|
||||
|
||||
maxnel = self.spec.variants["MAXNEL"].value
|
||||
filter_file(r"^#MAXNEL\s*=.*", "MAXNEL=" + maxnel, "maketools")
|
||||
|
@@ -53,7 +53,7 @@ class Ngspice(AutotoolsPackage):
|
||||
variant(
|
||||
"debug",
|
||||
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"),
|
||||
multi=False,
|
||||
)
|
||||
|
@@ -360,8 +360,8 @@ def test_recipe(self):
|
||||
expected = [
|
||||
"Running octopus",
|
||||
"CalculationMode = recipe",
|
||||
"DISCLAIMER: The authors do not guarantee that the implementation",
|
||||
'recipe leads to an edible dish, for it is clearly "system-dependent".',
|
||||
"DISCLAIMER: The authors do not " "guarantee that the implementation",
|
||||
"recipe leads to an edible dish, " 'for it is clearly "system-dependent".',
|
||||
"Calculation ended on",
|
||||
]
|
||||
|
||||
|
@@ -473,7 +473,7 @@ class Openmpi(AutotoolsPackage, CudaPackage):
|
||||
values=disjoint_sets(
|
||||
("auto",), FABRICS # shared memory transports
|
||||
).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")
|
||||
@@ -694,7 +694,7 @@ def patch(self):
|
||||
conflicts(
|
||||
"schedulers=loadleveler",
|
||||
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:
|
||||
|
@@ -29,17 +29,17 @@ class P3dfft3(AutotoolsPackage):
|
||||
variant(
|
||||
"measure",
|
||||
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(
|
||||
"estimate",
|
||||
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(
|
||||
"patient",
|
||||
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!
|
||||
|
@@ -26,7 +26,7 @@ class Paradiseo(CMakePackage):
|
||||
variant(
|
||||
"mpi",
|
||||
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("edo", default=True, description="Compile with (Experimental) EDO module")
|
||||
|
@@ -41,7 +41,7 @@ class Pcre(AutotoolsPackage, CMakePackage):
|
||||
variant(
|
||||
"utf",
|
||||
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")
|
||||
|
@@ -138,7 +138,7 @@ class Phist(CMakePackage):
|
||||
variant(
|
||||
"fortran",
|
||||
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
|
||||
|
@@ -75,7 +75,7 @@ def build_targets(self):
|
||||
|
||||
if "%gcc" in self.spec:
|
||||
targets.append(
|
||||
"FARGS=-g -fbounds-check -O3 -fopenmp -JModules -fallow-argument-mismatch"
|
||||
"FARGS=-g -fbounds-check -O3 -fopenmp " "-JModules -fallow-argument-mismatch"
|
||||
)
|
||||
|
||||
return targets
|
||||
|
@@ -34,7 +34,7 @@ class Pism(CMakePackage):
|
||||
variant(
|
||||
"proj",
|
||||
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(
|
||||
|
@@ -38,7 +38,7 @@ def check_fortran(self):
|
||||
if self.spec.satisfies("+fortran"):
|
||||
if is_no_fortran_compiler:
|
||||
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):
|
||||
|
@@ -29,7 +29,7 @@ class Postgis(AutotoolsPackage):
|
||||
"gui",
|
||||
default=False,
|
||||
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(
|
||||
"io-restrictions",
|
||||
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("libpng", default=True, description="Build with libpng support")
|
||||
|
@@ -27,7 +27,7 @@ class PyCharm4py(PythonPackage):
|
||||
variant(
|
||||
"mpi",
|
||||
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
|
||||
|
20
var/spack/repos/builtin/packages/py-dacite/package.py
Normal file
20
var/spack/repos/builtin/packages/py-dacite/package.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyDacite(PythonPackage):
|
||||
"""Simple creation of data classes from dictionaries."""
|
||||
|
||||
homepage = "https://github.com/konradhalas/dacite"
|
||||
pypi = "dacite/dacite-1.8.0.tar.gz"
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("1.8.0", sha256="6257a5e505b61a8cafee7ef3ad08cf32ee9b885718f42395d017e0a9b4c6af65")
|
||||
|
||||
depends_on("python@3.6:")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
@@ -17,6 +17,7 @@ class PyDatasets(PythonPackage):
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("3.2.0", sha256="9a6e1a356052866b5dbdd9c9eedb000bf3fc43d986e3584d9b028f4976937229")
|
||||
version("2.20.0", sha256="3c4dbcd27e0f642b9d41d20ff2efa721a5e04b32b2ca4009e0fc9139e324553f")
|
||||
version("2.8.0", sha256="a843b69593914071f921fc1086fde939f30a63415a34cdda5db3c0acdd58aff2")
|
||||
version("1.8.0", sha256="d57c32bb29e453ee7f3eb0bbca3660ab4dd2d0e4648efcfa987432624cab29d3")
|
||||
@@ -30,7 +31,7 @@ class PyDatasets(PythonPackage):
|
||||
depends_on("py-pandas")
|
||||
depends_on("py-requests@2.19:")
|
||||
depends_on("py-xxhash")
|
||||
depends_on("py-multiprocess")
|
||||
depends_on("py-multiprocess@:0.70.16")
|
||||
depends_on("py-packaging")
|
||||
with when("@:1.8.0"):
|
||||
depends_on("py-dill@:0.3.6")
|
||||
@@ -39,24 +40,28 @@ class PyDatasets(PythonPackage):
|
||||
depends_on("py-huggingface-hub@:0.0")
|
||||
depends_on("py-importlib-metadata", when="^python@:3.7")
|
||||
depends_on("py-pyarrow@1:3+parquet")
|
||||
depends_on("py-tqdm@4.27:4.49", when="@:1.8.0")
|
||||
depends_on("py-tqdm@4.27:4.49")
|
||||
with when("@2.8.0"):
|
||||
depends_on("py-responses@:0.18")
|
||||
with when("@2.8.0:"):
|
||||
depends_on("py-aiohttp")
|
||||
depends_on("py-pyyaml@5.1:")
|
||||
depends_on("python@3.7:")
|
||||
with when("@2.8.0"):
|
||||
depends_on("py-dill@:0.3.6")
|
||||
depends_on("py-fsspec@2021.11.1:+http")
|
||||
depends_on("py-huggingface-hub@0.2:0")
|
||||
depends_on("py-pyarrow@6:+parquet")
|
||||
depends_on("py-responses@:0.18")
|
||||
depends_on("py-tqdm@4.62.1:")
|
||||
depends_on("python@3.7:")
|
||||
with when("@2.20.0:"):
|
||||
depends_on("py-filelock")
|
||||
depends_on("py-dill@0.3.0:0.3.8") # temporary upper bound
|
||||
depends_on("py-fsspec@2023.1.0:2024.5.0+http")
|
||||
depends_on("py-huggingface-hub@0.21.2:")
|
||||
depends_on("py-pyarrow@15:+parquet")
|
||||
depends_on("py-pyarrow@15:+parquet+dataset")
|
||||
depends_on("py-requests@2.32.2:")
|
||||
depends_on("py-tqdm@4.66.3:")
|
||||
depends_on("python@3.8:")
|
||||
with when("@3.2.0:"):
|
||||
depends_on("py-huggingface-hub@0.23.0:")
|
||||
depends_on("py-fsspec@2023.1.0:2024.9.0+http")
|
||||
depends_on("python@3.9:")
|
||||
|
37
var/spack/repos/builtin/packages/py-nanotron/package.py
Normal file
37
var/spack/repos/builtin/packages/py-nanotron/package.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyNanotron(PythonPackage):
|
||||
"""Minimalistic large language model 3D-parallelism training."""
|
||||
|
||||
homepage = "https://github.com/huggingface/nanotron"
|
||||
url = "https://github.com/huggingface/nanotron/archive/refs/tags/v0.4.tar.gz"
|
||||
git = "https://github.com/huggingface/nanotron.git"
|
||||
|
||||
maintainers("thomas-bouvier")
|
||||
|
||||
license("Apache-2.0")
|
||||
|
||||
version("main", branch="main")
|
||||
version("0.4", sha256="30e9cdd07e86166dd9690351d9d995b3560810044fdca64737ed042cd91c792a")
|
||||
|
||||
variant("examples", default=True, description="Build with example scripts support")
|
||||
|
||||
depends_on("python@3.6:3.11")
|
||||
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-torch@1.13.0:", type=("build", "run"))
|
||||
depends_on("py-pyyaml", type=("build", "run"))
|
||||
depends_on("py-numpy@:2", type=("build", "run"))
|
||||
depends_on("py-packaging", type=("build", "run"))
|
||||
depends_on("py-safetensors", type=("build", "run"))
|
||||
depends_on("py-dacite", type=("build", "run"))
|
||||
depends_on("py-tqdm", type=("build", "run"))
|
||||
depends_on("py-datasets", type=("build", "run"), when="@0.5:")
|
||||
|
||||
depends_on("py-transformers", type=("build", "run"), when="+examples")
|
||||
depends_on("py-flash-attn", type=("build", "run"), when="+examples")
|
@@ -11,6 +11,8 @@ class PySafetensors(PythonPackage):
|
||||
homepage = "https://github.com/huggingface/safetensors"
|
||||
pypi = "safetensors/safetensors-0.3.1.tar.gz"
|
||||
|
||||
maintainers("thomas-bouvier")
|
||||
|
||||
version("0.4.5", sha256="d73de19682deabb02524b3d5d1f8b3aaba94c72f1bbfc7911b9b9d5d391c0310")
|
||||
version("0.4.3", sha256="2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2")
|
||||
version("0.3.1", sha256="571da56ff8d0bec8ae54923b621cda98d36dcef10feb36fd492c4d0c2cd0e869")
|
||||
|
@@ -13,6 +13,8 @@ class PySphinxRtdTheme(PythonPackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("3.0.0", sha256="905d67de03217fd3d76fbbdd992034ac8e77044ef8063a544dda1af74d409e08")
|
||||
version("2.0.0", sha256="bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b")
|
||||
version("1.2.2", sha256="01c5c5a72e2d025bd23d1f06c59a4831b06e6ce6c01fdd5ebfe9986c0a880fc7")
|
||||
version("1.2.0", sha256="a0d8bd1a2ed52e0b338cbe19c4b2eef3c5e7a048769753dac6a9f059c7b641b8")
|
||||
version("1.0.0", sha256="eec6d497e4c2195fa0e8b2016b337532b8a699a68bcb22a512870e16925c6a5c")
|
||||
@@ -21,13 +23,20 @@ class PySphinxRtdTheme(PythonPackage):
|
||||
version("0.5.0", sha256="22c795ba2832a169ca301cd0a083f7a434e09c538c70beb42782c073651b707d")
|
||||
version("0.4.3", sha256="728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a")
|
||||
|
||||
depends_on("python@3.8:", when="@3:")
|
||||
depends_on("python@3.6:", when="@:2")
|
||||
depends_on("python@:3.11", when="@:1.0.0") # distutils was removed in python@3.12
|
||||
depends_on("py-setuptools", type="build")
|
||||
|
||||
depends_on("py-sphinx@1.6:6", when="@1:", type=("build", "run"))
|
||||
depends_on("py-sphinx@6:8", when="@3:", type=("build", "run"))
|
||||
depends_on("py-sphinx@5:7", when="@2", type=("build", "run"))
|
||||
depends_on("py-sphinx@1.6:6", when="@1", type=("build", "run"))
|
||||
depends_on("py-sphinx@:6", when="@0", type=("build", "run"))
|
||||
depends_on("py-docutils@:0.18", when="@1.2:", type=("build", "run"))
|
||||
depends_on("py-docutils@0.19:0.21", when="@3:", type=("build", "run"))
|
||||
depends_on("py-docutils@:0.20", when="@2", type=("build", "run"))
|
||||
depends_on("py-docutils@:0.18", when="@1.2.0", type=("build", "run"))
|
||||
depends_on("py-docutils@:0.17", when="@1:1.1", type=("build", "run"))
|
||||
depends_on("py-docutils@:0.16", when="@0.5.2:0", type=("build", "run"))
|
||||
depends_on("py-sphinxcontrib-jquery@4", when="@2:", type=("build", "run"))
|
||||
depends_on("py-sphinxcontrib-jquery@4", when="@1.2.2:", type=("build", "run"))
|
||||
depends_on("py-sphinxcontrib-jquery@2:", when="@1.2:1.2.1", type=("build", "run"))
|
||||
conflicts("^py-sphinxcontrib-jquery@3.0.0")
|
||||
|
@@ -51,13 +51,15 @@ class PyUproot(PythonPackage):
|
||||
|
||||
variant("xrootd", default=True, description="Build with xrootd support ")
|
||||
variant(
|
||||
"lz4", default=True, description="Build with support for reading lz4-compressed rootfiles "
|
||||
"lz4",
|
||||
default=True,
|
||||
description="Build with support for reading " "lz4-compressed rootfiles ",
|
||||
)
|
||||
|
||||
variant(
|
||||
"zstd",
|
||||
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"))
|
||||
|
@@ -132,13 +132,15 @@ class Qmcpack(CMakePackage, CudaPackage):
|
||||
conflicts("%gcc@:8", when="@3.15.0:")
|
||||
|
||||
# QMCPACK 3.10.0 increased the minimum requirements for compiler versions
|
||||
newer_compiler_warning = "QMCPACK v3.10.0 or later requires a newer version of this compiler"
|
||||
newer_compiler_warning = (
|
||||
"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("%intel@:18", 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
|
||||
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("%intel@:17", when="@3.6.0:", msg=cpp14_warning)
|
||||
conflicts("%clang@:3.4", when="@3.6.0:", msg=cpp14_warning)
|
||||
@@ -328,7 +330,7 @@ def cmake_args(self):
|
||||
cuda_arch = cuda_arch_list[0]
|
||||
if len(cuda_arch_list) > 1:
|
||||
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:
|
||||
args.append("-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch))
|
||||
|
@@ -191,7 +191,7 @@ class QuantumEspresso(CMakePackage, Package):
|
||||
)
|
||||
conflicts(
|
||||
"@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")
|
||||
# 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",
|
||||
default="0",
|
||||
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(
|
||||
"pnetcdf",
|
||||
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")
|
||||
@@ -110,13 +110,13 @@ def configure_args(self):
|
||||
# compiler from GCC and Intel, which are the only compiler
|
||||
# supported by RegCM 4.7.x.
|
||||
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"):
|
||||
# https://github.com/spack/spack/issues/974
|
||||
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
|
||||
|
@@ -64,7 +64,7 @@ class Relion(CMakePackage, CudaPackage):
|
||||
"allow_ctf_in_sagd",
|
||||
default=True,
|
||||
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")
|
||||
@@ -72,7 +72,7 @@ class Relion(CMakePackage, CudaPackage):
|
||||
variant(
|
||||
"external_motioncor2",
|
||||
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")
|
||||
|
@@ -149,7 +149,7 @@ def install_pkgconfig(self):
|
||||
f.write("\n")
|
||||
f.write("Name: rocksdb\n")
|
||||
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("Cflags: -I${includedir}\n")
|
||||
|
@@ -120,8 +120,7 @@ def configure_args(self):
|
||||
"--disable-gdbtk",
|
||||
"--disable-shared",
|
||||
"--with-expat",
|
||||
"--with-system-zlib",
|
||||
"--without-guile",
|
||||
"--with-system-zlib" "--without-guile",
|
||||
"--with-babeltrace",
|
||||
"--with-lzma",
|
||||
"--with-python",
|
||||
|
@@ -204,7 +204,7 @@ class Root(CMakePackage):
|
||||
variant(
|
||||
"gminimal",
|
||||
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("http", default=False, description="Enable HTTP server support")
|
||||
@@ -227,7 +227,7 @@ class Root(CMakePackage):
|
||||
variant(
|
||||
"mlp",
|
||||
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("opengl", default=True, description="Enable OpenGL support")
|
||||
|
@@ -121,7 +121,7 @@ def patch(self):
|
||||
if self.spec.satisfies("@0.8.2:0.9.1"):
|
||||
filter_file(
|
||||
"${FAST_MALLOC_LIB}",
|
||||
"${FAST_MALLOC_LIB}\n${CMAKE_DL_LIBS}",
|
||||
"${FAST_MALLOC_LIB}\n" "${CMAKE_DL_LIBS}",
|
||||
"src/CMakeLists.txt",
|
||||
string=True,
|
||||
)
|
||||
|
@@ -102,7 +102,7 @@ class Scr(CMakePackage):
|
||||
"dtcmp",
|
||||
default=True,
|
||||
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="@3:")
|
||||
|
@@ -40,7 +40,7 @@ class Serialbox(CMakePackage):
|
||||
variant(
|
||||
"std-filesystem",
|
||||
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")
|
||||
@@ -73,12 +73,12 @@ class Serialbox(CMakePackage):
|
||||
conflicts(
|
||||
"+ftg",
|
||||
when="~fortran",
|
||||
msg="the FortranTestGenerator frontend requires the Fortran interface",
|
||||
msg="the FortranTestGenerator frontend requires the Fortran " "interface",
|
||||
)
|
||||
conflicts(
|
||||
"+ftg",
|
||||
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("+fortran", when="~c", msg="the Fortran interface requires the C interface")
|
||||
|
@@ -42,7 +42,7 @@ class Sollve(CMakePackage):
|
||||
variant(
|
||||
"link_dylib",
|
||||
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(
|
||||
"all_targets",
|
||||
|
@@ -58,7 +58,7 @@ def mpicxx_check(self):
|
||||
raise RuntimeError(msg)
|
||||
if "+fortran" in self.spec:
|
||||
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("test")
|
||||
|
||||
|
@@ -159,7 +159,7 @@ def get_variant(name, has_variant):
|
||||
|
||||
# check for fts
|
||||
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
|
||||
)
|
||||
|
||||
|
@@ -44,7 +44,7 @@ def build(self, spec, prefix):
|
||||
elif plat.startswith("darwin"):
|
||||
make("-f", "Makefile.MacOS")
|
||||
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):
|
||||
install_tree("bin", prefix.bin)
|
||||
|
@@ -40,7 +40,7 @@ class Timemory(CMakePackage, PythonExtension):
|
||||
variant(
|
||||
"python_hatchet",
|
||||
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(
|
||||
"python_line_profiler",
|
||||
@@ -77,7 +77,9 @@ class Timemory(CMakePackage, PythonExtension):
|
||||
variant(
|
||||
"kokkos_tools",
|
||||
default=False,
|
||||
description=("Build generic kokkos-tools libraries, e.g. kp_timemory, kp_timemory_filter"),
|
||||
description=(
|
||||
"Build generic kokkos-tools libraries, e.g. " "kp_timemory, kp_timemory_filter"
|
||||
),
|
||||
)
|
||||
variant(
|
||||
"kokkos_build_config",
|
||||
@@ -120,7 +122,7 @@ class Timemory(CMakePackage, PythonExtension):
|
||||
variant(
|
||||
"cpu_target",
|
||||
default="auto",
|
||||
description=("Build for specific cpu architecture (specify cpu-model)"),
|
||||
description=("Build for specific cpu architecture (specify " "cpu-model)"),
|
||||
)
|
||||
variant(
|
||||
"use_arch",
|
||||
@@ -141,7 +143,7 @@ class Timemory(CMakePackage, PythonExtension):
|
||||
variant(
|
||||
"statistics",
|
||||
default=True,
|
||||
description=("Build components w/ support for statistics (min/max/stddev)"),
|
||||
description=("Build components w/ support for statistics " "(min/max/stddev)"),
|
||||
)
|
||||
variant(
|
||||
"extra_optimizations",
|
||||
@@ -177,7 +179,7 @@ class Timemory(CMakePackage, PythonExtension):
|
||||
variant(
|
||||
"require_packages",
|
||||
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(
|
||||
|
@@ -42,7 +42,7 @@ class Turbomole(Package):
|
||||
|
||||
def do_fetch(self, mirror_only=True):
|
||||
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)
|
||||
|
||||
def get_tm_arch(self):
|
||||
|
@@ -238,7 +238,7 @@ def cmake_args(self):
|
||||
os.environ["TBB_ROOT"] = spec["tbb"].prefix
|
||||
|
||||
if "+kokkos" in spec and "+rocm" in spec and spec.satisfies("^kokkos@4:"):
|
||||
options.append(f"-DCMAKE_CXX_COMPILER:BOOL={spec['hip'].prefix.bin.hipcc}")
|
||||
options.append(f"-DCMAKE_CXX_COMPILER:FILEPATH={spec['hip'].prefix.bin.hipcc}")
|
||||
|
||||
# Support for relocatable code
|
||||
if "~shared" in spec and "+fpic" in spec:
|
||||
|
@@ -108,12 +108,12 @@ def edit(self, spec, prefix):
|
||||
)
|
||||
filter_file(
|
||||
"../../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"),
|
||||
)
|
||||
filter_file(
|
||||
"../../postw90.x: $(OBJS_POST) $(POSTDIR)postw90.F90",
|
||||
"../../postw90.x: $(OBJS_POST) $(POSTDIR)postw90.F90 $(LIBRARY)",
|
||||
"../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90",
|
||||
"../../postw90.x: $(OBJS_POST) " "$(POSTDIR)postw90.F90 $(LIBRARY)",
|
||||
join_path(self.stage.source_path, "src/Makefile.2"),
|
||||
string=True,
|
||||
)
|
||||
@@ -139,8 +139,8 @@ def edit(self, spec, prefix):
|
||||
string=True,
|
||||
)
|
||||
filter_file(
|
||||
"$(AR) $(ARFLAGS) $(LIBRARY) $(OBJS2) $(OBJS)",
|
||||
"$(MPIF90) $(FCOPTS) -shared -o $(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)",
|
||||
"$(AR) $(ARFLAGS) " "$(LIBRARY) $(OBJS2) $(OBJS)",
|
||||
"$(MPIF90) $(FCOPTS) -shared -o " "$(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)",
|
||||
join_path(self.stage.source_path, "src/Makefile.2"),
|
||||
string=True,
|
||||
)
|
||||
|
@@ -79,7 +79,7 @@ class Whizard(AutotoolsPackage):
|
||||
depends_on("qgraf", when="+gosam")
|
||||
|
||||
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",
|
||||
)
|
||||
depends_on("texlive", when="+latex")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user