Compare commits

...

28 Commits

Author SHA1 Message Date
Gregory L. Lee
08aaecd1e2 adding py-pyspy package 2023-11-14 08:03:39 -08:00
Gregory L. Lee
b237d303df adding py-pyspy package 2023-11-13 17:26:52 -08:00
Gregory L. Lee
c3015d2a1b adding py-pyspy package 2023-11-13 17:09:38 -08:00
Adam J. Stewart
ab60bfe36a py-numpy: add v1.26.2 (#41046) 2023-11-13 16:41:05 -07:00
John W. Parent
8bcc3e2820 CMake Package: support building ~ownlibs on Windows (#38758) 2023-11-13 14:26:33 -08:00
Hariharan Devarajan
388f141a92 Release Brahma v0.0.2 (#40994) 2023-11-13 14:25:12 -08:00
Todd Gamblin
f74b083a15 info: improve coverage (#41001)
Tests didn't cover the new `--variants-by-name` parameter in #40998.
Add some parameterization to hit that.

This changeset makes me think that the main section-printing loop in `spack info` isn't
factored so well. It makes it difficult to pass different arguments to different helper
functions.  I could break it out into if statements if folks think that would be cleaner.
2023-11-13 13:45:18 -08:00
heatherkellyucl
5b9d260054 gzip: deprecate <1.13 for vulnerability (#41044) 2023-11-13 13:38:16 -07:00
Greg Becker
4bd47d89db spack diff: allow hashes from mirrors (#41043) 2023-11-13 12:27:52 -08:00
Daniel Arndt
96f3c76052 dealii: add v9.5.0, v9.5.1 (#40747)
* dealii: 9.5.0

* kokkos+cuda_lambda

* dealii ^kokkos@3.7: require +cuda +cuda_lambda +wrapper

* Added 9.5.1, try ~cgal when +cuda

* Forward Cuda architecture request

* Remove workaround

* Try not enforcing the Kokkos compiler

* Enforce using nvcc_wrapper with Trilinos+Cuda

* Don't define CMAKE_*_COMPILER to point to MPI wrappers

* Use the same compiler as Trilinos/Kokkos

* Only check for Trilinos compiler

* Disable Trilinos+Cuda

* Disable Cuda support

* Try CUDA build without ninja

* Combined examples and examples_compile

* Use f-string for cuda_arch

* p -> _package

* Indentation

* Fix up f-string

---------

Co-authored-by: Luca Heltai <luca.heltai@sissa.it>
Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2023-11-13 12:29:55 -06:00
H. Joe Lee
9c74eda61f hdf5: add a new variant for enabling sub-filing VFD (#40804) 2023-11-13 11:18:02 -07:00
dependabot[bot]
d9de93a0fc build(deps): bump black from 23.10.1 to 23.11.0 in /lib/spack/docs (#40967)
Bumps [black](https://github.com/psf/black) from 23.10.1 to 23.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.10.1...23.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 08:18:06 -07:00
Wouter Deconinck
3892fadbf6 qwt: conflict with qt-base (Qt6) (#40883) 2023-11-13 12:42:37 +01:00
Glenn Horton-Smith
62b32080a8 epics-base: patch to avoid failure on "perl xsubpp" when "xsubpp" otherwise works fine. (#40849) 2023-11-13 12:29:51 +01:00
Wanlin Wang
09d66168c4 riscv-gnu-toolchain: add v2023.09.13 -> v2023.10.18 (#40854) 2023-11-13 12:19:09 +01:00
Tuomas Koskela
d7869da36b conquest: add build system changes and library paths (#40718) 2023-11-13 12:13:53 +01:00
Mikael Simberg
b6864fb1c3 Add license directives to various packages (#41039) 2023-11-13 04:03:48 -07:00
Harmen Stoppels
e6125061e1 Compiler.debug_flags: drop -gz (#40900)
That enables compression of the debug symbols, it doesn't toggle them on
or off.
2023-11-13 11:33:40 +01:00
dependabot[bot]
491bd48897 build(deps): bump black in /.github/workflows/style (#40968)
Bumps [black](https://github.com/psf/black) from 23.10.1 to 23.11.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/23.10.1...23.11.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:18:52 +01:00
Victoria Cherkas
ad4878f770 metkit: add v1.10.2 and v1.10.17 (#40668) 2023-11-13 10:56:52 +01:00
Satish Balay
420eff11b7 superlu-dist: add v8.2.0 (#41004) 2023-11-13 10:55:05 +01:00
Adam J. Stewart
15e7aaf94d py-mypy: add v1.4:v1.7 (#41015) 2023-11-13 10:33:33 +01:00
Adam J. Stewart
bd6c5ec82d py-pandas: add v2.1.3 (#41017) 2023-11-13 10:26:56 +01:00
dependabot[bot]
4e171453c0 build(deps): bump mypy from 1.6.1 to 1.7.0 in /lib/spack/docs (#41020)
Bumps [mypy](https://github.com/python/mypy) from 1.6.1 to 1.7.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 10:13:26 +01:00
Adam J. Stewart
420bce5cd2 GEOS: add new versions (#41030) 2023-11-13 10:09:58 +01:00
Thomas Gruber
b4f6c49bc0 likwid: add 5.3.0 version (#41008) 2023-11-13 10:09:39 +01:00
David Gardner
da4f2776d2 sundials: add license directive (#41028) 2023-11-13 10:08:28 +01:00
Adam J. Stewart
e2f274a634 PyTorch: allow +openmp on macOS (#41025) 2023-11-13 10:07:18 +01:00
42 changed files with 373 additions and 119 deletions

View File

@@ -1,4 +1,4 @@
black==23.10.1
black==23.11.0
clingo==5.6.2
flake8==6.1.0
isort==5.12.0

View File

@@ -8,6 +8,6 @@ pygments==2.16.1
urllib3==2.0.7
pytest==7.4.3
isort==5.12.0
black==23.10.1
black==23.11.0
flake8==6.1.0
mypy==1.6.1
mypy==1.7.0

View File

@@ -200,6 +200,8 @@ def diff(parser, args):
specs = []
for spec in spack.cmd.parse_specs(args.specs):
# If the spec has a hash, check it before disambiguating
spec.replace_hash()
if spec.concrete:
specs.append(spec)
else:

View File

@@ -139,7 +139,7 @@ def lines(self):
yield " " + self.fmt % t
def print_dependencies(pkg):
def print_dependencies(pkg, args):
"""output build, link, and run package dependencies"""
for deptype in ("build", "link", "run"):
@@ -152,7 +152,7 @@ def print_dependencies(pkg):
color.cprint(" None")
def print_detectable(pkg):
def print_detectable(pkg, args):
"""output information on external detection"""
color.cprint("")
@@ -180,7 +180,7 @@ def print_detectable(pkg):
color.cprint(" False")
def print_maintainers(pkg):
def print_maintainers(pkg, args):
"""output package maintainers"""
if len(pkg.maintainers) > 0:
@@ -189,7 +189,7 @@ def print_maintainers(pkg):
color.cprint(section_title("Maintainers: ") + mnt)
def print_phases(pkg):
def print_phases(pkg, args):
"""output installation phases"""
if hasattr(pkg.builder, "phases") and pkg.builder.phases:
@@ -201,7 +201,7 @@ def print_phases(pkg):
color.cprint(phase_str)
def print_tags(pkg):
def print_tags(pkg, args):
"""output package tags"""
color.cprint("")
@@ -213,7 +213,7 @@ def print_tags(pkg):
color.cprint(" None")
def print_tests(pkg):
def print_tests(pkg, args):
"""output relevant build-time and stand-alone tests"""
# Some built-in base packages (e.g., Autotools) define callback (e.g.,
@@ -407,12 +407,15 @@ def print_variants_by_name(pkg):
sys.stdout.write("\n")
def print_variants(pkg):
def print_variants(pkg, args):
"""output variants"""
print_variants_grouped_by_when(pkg)
if args.variants_by_name:
print_variants_by_name(pkg)
else:
print_variants_grouped_by_when(pkg)
def print_versions(pkg):
def print_versions(pkg, args):
"""output versions"""
color.cprint("")
@@ -465,7 +468,7 @@ def get_url(version):
color.cprint(line)
def print_virtuals(pkg):
def print_virtuals(pkg, args):
"""output virtual packages"""
color.cprint("")
@@ -488,7 +491,7 @@ def print_virtuals(pkg):
color.cprint(" None")
def print_licenses(pkg):
def print_licenses(pkg, args):
"""Output the licenses of the project."""
color.cprint("")
@@ -523,17 +526,13 @@ def info(parser, args):
if getattr(pkg, "homepage"):
color.cprint(section_title("Homepage: ") + pkg.homepage)
_print_variants = (
print_variants_by_name if args.variants_by_name else print_variants_grouped_by_when
)
# Now output optional information in expected order
sections = [
(args.all or args.maintainers, print_maintainers),
(args.all or args.detectable, print_detectable),
(args.all or args.tags, print_tags),
(args.all or not args.no_versions, print_versions),
(args.all or not args.no_variants, _print_variants),
(args.all or not args.no_variants, print_variants),
(args.all or args.phases, print_phases),
(args.all or not args.no_dependencies, print_dependencies),
(args.all or args.virtuals, print_virtuals),
@@ -542,6 +541,6 @@ def info(parser, args):
]
for print_it, func in sections:
if print_it:
func(pkg)
func(pkg, args)
color.cprint("")

View File

@@ -40,7 +40,6 @@ def debug_flags(self):
"-gdwarf-5",
"-gline-tables-only",
"-gmodules",
"-gz",
"-g",
]

View File

@@ -55,7 +55,6 @@ def debug_flags(self):
"-gdwarf-5",
"-gline-tables-only",
"-gmodules",
"-gz",
"-g",
]

View File

@@ -33,10 +33,11 @@ def _print(*args, **kwargs):
@pytest.mark.parametrize(
"pkg", ["openmpi", "trilinos", "boost", "python", "dealii", "xsdk"] # a BundlePackage
"pkg", ["openmpi", "trilinos", "boost", "python", "dealii", "xsdk", "gasnet", "warpx"]
)
def test_it_just_runs(pkg):
info(pkg)
@pytest.mark.parametrize("extra_args", [[], ["--variants-by-name"]])
def test_it_just_runs(pkg, extra_args):
info(pkg, *extra_args)
def test_info_noversion(mock_packages, print_buffer):
@@ -78,7 +79,8 @@ def test_is_externally_detectable(pkg_query, expected, parser, print_buffer):
"gcc", # This should ensure --test's c_names processing loop covered
],
)
def test_info_fields(pkg_query, parser, print_buffer):
@pytest.mark.parametrize("extra_args", [[], ["--variants-by-name"]])
def test_info_fields(pkg_query, extra_args, parser, print_buffer):
expected_fields = (
"Description:",
"Homepage:",
@@ -91,7 +93,7 @@ def test_info_fields(pkg_query, parser, print_buffer):
"Licenses:",
)
args = parser.parse_args(["--all", pkg_query])
args = parser.parse_args(["--all", pkg_query] + extra_args)
spack.cmd.info.info(parser, args)
for text in expected_fields:

View File

@@ -422,7 +422,6 @@ def test_clang_flags():
"-gdwarf-5",
"-gline-tables-only",
"-gmodules",
"-gz",
"-g",
],
"clang@3.3",
@@ -445,7 +444,6 @@ def test_aocc_flags():
"-gdwarf-5",
"-gline-tables-only",
"-gmodules",
"-gz",
"-g",
],
"aocc@2.2.0",

View File

@@ -16,6 +16,8 @@ class Asio(AutotoolsPackage):
git = "https://github.com/chriskohlhoff/asio.git"
maintainers("msimberg", "pauleonix")
license("BSL-1.0")
# As uneven minor versions of asio are not considered stable, they wont be added anymore
version("1.28.0", sha256="226438b0798099ad2a202563a83571ce06dd13b570d8fded4840dbc1f97fa328")
version("1.26.0", sha256="935583f86825b7b212479277d03543e0f419a55677fa8cb73a79a927b858a72d")

View File

@@ -15,11 +15,14 @@ class Brahma(CMakePackage):
version("develop", branch="dev")
version("master", branch="master")
version("0.0.2", tag="v0.0.2", commit="bac58d5aa8962a5c902d401fbf8021aff9104d3c")
version("0.0.1", tag="v0.0.1", commit="15156036f14e36511dfc3f3751dc953540526a2b")
variant("mpi", default=False, description="Enable MPI support")
depends_on("cpp-logger@0.0.1")
depends_on("gotcha@develop")
depends_on("cpp-logger@0.0.1", when="@:0.0.1")
depends_on("cpp-logger@0.0.2", when="@0.0.2:")
depends_on("gotcha@1.0.4", when="@:0.0.1")
depends_on("gotcha@1.0.5", when="@0.0.2:")
depends_on("catch2@3.0.1")
depends_on("mpi", when="+mpi")

View File

@@ -20,7 +20,7 @@ class Cmake(Package):
url = "https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0.tar.gz"
git = "https://gitlab.kitware.com/cmake/cmake.git"
maintainers("alalazo")
maintainers("alalazo", "johnwparent")
tags = ["build-tools", "windows"]
@@ -234,13 +234,15 @@ class Cmake(Package):
with when("~ownlibs"):
depends_on("expat")
# expat/zlib are used in CMake/CTest, so why not require them in libarchive.
depends_on("libarchive@3.1.0: xar=expat compression=zlib")
depends_on("libarchive@3.3.3:", when="@3.15.0:")
depends_on("libuv@1.0.0:1.10", when="@3.7.0:3.10.3")
depends_on("libuv@1.10.0:1.10", when="@3.11.0:3.11")
depends_on("libuv@1.10.0:", when="@3.12.0:")
depends_on("rhash", when="@3.8.0:")
depends_on("jsoncpp build_system=meson", when="@3.2:")
for plat in ["darwin", "cray", "linux"]:
with when("platform=%s" % plat):
depends_on("libarchive@3.1.0: xar=expat compression=zlib")
depends_on("libarchive@3.3.3:", when="@3.15.0:")
depends_on("libuv@1.0.0:1.10", when="@3.7.0:3.10.3")
depends_on("libuv@1.10.0:1.10", when="@3.11.0:3.11")
depends_on("libuv@1.10.0:", when="@3.12.0:")
depends_on("rhash", when="@3.8.0:")
depends_on("jsoncpp build_system=meson", when="@3.2:")
depends_on("ncurses", when="+ncurses")
@@ -248,9 +250,6 @@ class Cmake(Package):
depends_on("python@2.7.11:", type="build")
depends_on("py-sphinx", type="build")
# TODO: update curl package to build with Windows SSL implementation
# at which point we can build with +ownlibs on Windows
conflicts("~ownlibs", when="platform=windows")
# Cannot build with Intel, should be fixed in 3.6.2
# https://gitlab.kitware.com/cmake/cmake/issues/16226
patch("intel-c-gnu11.patch", when="@3.6.0:3.6.1")

View File

@@ -49,6 +49,15 @@ class Conquest(MakefilePackage):
build_directory = "src"
# The SYSTEM variable is required above version 1.2.
# Versions 1.2 and older should ignore it.
@property
def build_targets(self):
if self.version > Version("1.2"):
return ["SYSTEM = example", "Conquest"]
else:
return ["Conquest"]
def edit(self, spec, prefix):
fflags = "-O3 -fallow-argument-mismatch"
ldflags = ""
@@ -63,12 +72,23 @@ def edit(self, spec, prefix):
lapack_ld = self.spec["lapack"].libs.ld_flags
blas_ld = self.spec["blas"].libs.ld_flags
fftw_ld = self.spec["fftw"].libs.ld_flags
libxc_ld = self.spec["libxc"].libs.ld_flags
defs_file = FileFilter("./src/system.make")
# Starting from 1.3 there's automated logic in the Makefile that picks
# from a list of possible files for system/compiler-specific definitions.
# This is useful for manual builds, but since the spack will do its own
# automation of compiler-specific flags, we will override it.
if self.version > Version("1.2"):
defs_file = FileFilter("./src/system/system.example.make")
else:
defs_file = FileFilter("./src/system.make")
defs_file.filter("COMPFLAGS=.*", f"COMPFLAGS= {fflags}")
defs_file.filter("LINKFLAGS=.*", f"LINKFLAGS= {ldflags}")
defs_file.filter("# BLAS=.*", f"BLAS= {lapack_ld} -llapack {blas_ld} -lblas")
defs_file.filter(".*COMPFLAGS=.*", f"COMPFLAGS= {fflags}")
defs_file.filter(".*LINKFLAGS=.*", f"LINKFLAGS= {ldflags}")
defs_file.filter(".*BLAS=.*", f"BLAS= {lapack_ld} {blas_ld}")
defs_file.filter(".*FFT_LIB=.*", f"FFT_LIB={fftw_ld}")
defs_file.filter(".*XC_LIB=.*", f"XC_LIB={libxc_ld} -lxcf90 -lxc")
if "+openmp" in self.spec:
defs_file.filter("OMP_DUMMY = DUMMY", "OMP_DUMMY = ")
@@ -81,3 +101,5 @@ def edit(self, spec, prefix):
def install(self, spec, prefix):
mkdirp(prefix.bin)
install("./bin/Conquest", prefix.bin)
if self.version > Version("1.2"):
install_tree("./benchmarks/", join_path(prefix, "benchmarks"))

View File

@@ -23,9 +23,13 @@ class Dealii(CMakePackage, CudaPackage):
# only add for immediate deps.
transitive_rpaths = False
generator("ninja")
# FIXME nvcc_wrapper (used for +clang) doesn't handle response files
# correctly when ninja is used. Those are used automatically if paths get too long.
generator("make")
version("master", branch="master")
version("9.5.1", sha256="a818b535e6488d3aef7853311657c7b4fadc29a9abe91b7b202b131aad630f5e")
version("9.5.0", sha256="a81f41565f0d3a22d491ee687957dd48053225da72e8d6d628d210358f4a0464")
version("9.4.2", sha256="45a76cb400bfcff25cc2d9093d9a5c91545c8367985e6798811c5e9d2a6a6fd4")
version("9.4.1", sha256="bfe5e4bf069159f93feb0f78529498bfee3da35baf5a9c6852aa59d7ea7c7a48")
version("9.4.0", sha256="238677006cd9173658e5b69cdd1861f800556982db6005a3cc5eb8329cc1e36c")
@@ -70,10 +74,11 @@ class Dealii(CMakePackage, CudaPackage):
values=("default", "11", "14", "17"),
)
variant("doc", default=False, description="Compile with documentation")
variant("examples", default=True, description="Compile tutorial programs")
variant("examples", default=True, description="Compile and install tutorial programs")
variant("int64", default=False, description="Compile with 64 bit indices support")
variant("mpi", default=True, description="Compile with MPI")
variant("optflags", default=False, description="Compile using additional optimization flags")
variant("platform-introspection", default=True, description="Enable platform introspection")
variant("python", default=False, description="Compile with Python bindings")
# Package variants
@@ -81,11 +86,12 @@ class Dealii(CMakePackage, CudaPackage):
variant("arborx", default=True, description="Compile with Arborx support")
variant("arpack", default=True, description="Compile with Arpack and PArpack (only with MPI)")
variant("adol-c", default=True, description="Compile with ADOL-C")
variant("cgal", default=True, when="@9.4:", description="Compile with CGAL")
variant("cgal", default=True, when="@9.4:~cuda", description="Compile with CGAL")
variant("ginkgo", default=True, description="Compile with Ginkgo")
variant("gmsh", default=True, description="Compile with GMSH")
variant("gsl", default=True, description="Compile with GSL")
variant("hdf5", default=True, description="Compile with HDF5 (only with MPI)")
variant("kokkos", default=True, when="@9.5:", description="Compile with Kokkos")
variant("metis", default=True, description="Compile with Metis")
variant("muparser", default=True, description="Compile with muParser")
variant("nanoflann", default=False, description="Compile with Nanoflann")
@@ -98,14 +104,15 @@ class Dealii(CMakePackage, CudaPackage):
variant("slepc", default=True, description="Compile with Slepc (only with Petsc and MPI)")
variant("symengine", default=True, description="Compile with SymEngine")
variant("simplex", default=True, description="Compile with Simplex support")
# TODO @9.3: enable by default, when we know what to do
# variant('taskflow', default=False,
# description='Compile with multi-threading via Taskflow')
# TODO @9.3: disable by default
# (NB: only if tbb is removed in 9.3, as planned!!!)
variant(
"taskflow",
default=True,
when="@9.6:",
description="Compile with multi-threading via Taskflow",
)
variant("threads", default=True, description="Compile with multi-threading via TBB")
variant("trilinos", default=True, description="Compile with Trilinos (only with MPI)")
variant("platform-introspection", default=True, description="Enable platform introspection")
variant("vtk", default=True, when="@9.6:", description="Compile with VTK")
# Required dependencies: Light version
depends_on("blas")
@@ -179,6 +186,8 @@ class Dealii(CMakePackage, CudaPackage):
# TODO: next line fixes concretization with petsc
depends_on("hdf5+mpi+hl+fortran", when="+hdf5+mpi+petsc")
depends_on("hdf5+mpi+hl", when="+hdf5+mpi~petsc")
depends_on("kokkos@3.7:", when="@9.5:+kokkos~trilinos")
depends_on("kokkos@3.7:+cuda+cuda_lambda+wrapper", when="@9.5:+kokkos~trilinos+cuda")
# TODO: concretizer bug. The two lines mimic what comes from PETSc
# but we should not need it
depends_on("metis@5:+int64", when="+metis+int64")
@@ -198,7 +207,7 @@ class Dealii(CMakePackage, CudaPackage):
depends_on("sundials@:3~pthread", when="@9.0:9.2+sundials")
depends_on("sundials@5:5.8", when="@9.3:9.3.3+sundials")
depends_on("sundials@5:", when="@9.3.4:+sundials")
# depends_on('taskflow', when='@9.3:+taskflow')
depends_on("taskflow", when="@9.6:+taskflow")
depends_on("trilinos gotype=int", when="+trilinos@12.18.1:")
# TODO: next line fixes concretization with trilinos and adol-c
depends_on("trilinos~exodus", when="@9.0:+adol-c+trilinos")
@@ -222,12 +231,11 @@ class Dealii(CMakePackage, CudaPackage):
# do not require +rol to make concretization of xsdk possible
depends_on("trilinos+amesos+aztec+epetra+ifpack+ml+muelu+sacado", when="+trilinos")
depends_on("trilinos~hypre", when="+trilinos+int64")
# TODO: temporary disable Tpetra when using CUDA due to
# namespace "Kokkos::Impl" has no member "cuda_abort"
depends_on(
"trilinos@master+rol~amesos2~ifpack2~intrepid2~kokkos~tpetra~zoltan2",
when="+trilinos+cuda",
)
for _arch in CudaPackage.cuda_arch_values:
arch_str = f"+cuda cuda_arch={_arch}"
trilinos_spec = f"trilinos +wrapper {arch_str}"
depends_on(trilinos_spec, when=f"@9.5:+trilinos {arch_str}")
depends_on("vtk", when="@9.6:+vtk")
# Explicitly provide a destructor in BlockVector,
# otherwise deal.II may fail to build with Intel compilers.
@@ -296,44 +304,60 @@ class Dealii(CMakePackage, CudaPackage):
msg="CGAL requires the C++ standard to be set explicitly to 17 or later.",
)
conflicts(
"cxxstd=14",
when="@9.6:",
msg="Deal.II 9.6 onwards requires the C++ standard to be set to 17 or later.",
)
# Interfaces added in 8.5.0:
for p in ["gsl", "python"]:
for _package in ["gsl", "python"]:
conflicts(
"+{0}".format(p),
"+{0}".format(_package),
when="@:8.4.2",
msg="The interface to {0} is supported from version 8.5.0 "
"onwards. Please explicitly disable this variant "
"via ~{0}".format(p),
"via ~{0}".format(_package),
)
# Interfaces added in 9.0.0:
for p in ["assimp", "gmsh", "nanoflann", "scalapack", "sundials", "adol-c"]:
for _package in ["assimp", "gmsh", "nanoflann", "scalapack", "sundials", "adol-c"]:
conflicts(
"+{0}".format(p),
"+{0}".format(_package),
when="@:8.5.1",
msg="The interface to {0} is supported from version 9.0.0 "
"onwards. Please explicitly disable this variant "
"via ~{0}".format(p),
"via ~{0}".format(_package),
)
# interfaces added in 9.1.0:
for p in ["ginkgo", "symengine"]:
for _package in ["ginkgo", "symengine"]:
conflicts(
"+{0}".format(p),
"+{0}".format(_package),
when="@:9.0",
msg="The interface to {0} is supported from version 9.1.0 "
"onwards. Please explicitly disable this variant "
"via ~{0}".format(p),
"via ~{0}".format(_package),
)
# interfaces added in 9.3.0:
for p in ["simplex", "arborx"]: # , 'taskflow']:
for _package in ["simplex", "arborx"]:
conflicts(
"+{0}".format(p),
"+{0}".format(_package),
when="@:9.2",
msg="The interface to {0} is supported from version 9.3.0 "
"onwards. Please explicitly disable this variant "
"via ~{0}".format(p),
"via ~{0}".format(_package),
)
# interfaces added after 9.5.0:
for _package in ["vtk", "taskflow"]:
conflicts(
"+{0}".format(_package),
when="@:9.5",
msg="The interface to {0} is supported from version 9.6.0 "
"onwards. Please explicitly disable this variant "
"via ~{0}".format(_package),
)
# Interfaces removed in 9.3.0:
@@ -346,18 +370,29 @@ class Dealii(CMakePackage, CudaPackage):
# Check that the combination of variants makes sense
# 64-bit BLAS:
for p in ["openblas", "intel-mkl", "intel-parallel-studio+mkl"]:
for _package in ["openblas", "intel-mkl", "intel-parallel-studio+mkl"]:
conflicts(
"^{0}+ilp64".format(p), when="@:8.5.1", msg="64bit BLAS is only supported from 9.0.0"
"^{0}+ilp64".format(_package),
when="@:8.5.1",
msg="64bit BLAS is only supported from 9.0.0",
)
# MPI requirements:
for p in ["arpack", "hdf5", "netcdf", "p4est", "petsc", "scalapack", "slepc", "trilinos"]:
for _package in [
"arpack",
"hdf5",
"netcdf",
"p4est",
"petsc",
"scalapack",
"slepc",
"trilinos",
]:
conflicts(
"+{0}".format(p),
"+{0}".format(_package),
when="~mpi",
msg="To enable {0} it is necessary to build deal.II with "
"MPI support enabled.".format(p),
"MPI support enabled.".format(_package),
)
# Optional dependencies:
@@ -432,6 +467,7 @@ def cmake_args(self):
# Examples / tutorial programs
options.append(self.define_from_variant("DEAL_II_COMPONENT_EXAMPLES", "examples"))
options.append(self.define_from_variant("DEAL_II_COMPILE_EXAMPLES", "examples"))
# Enforce the specified C++ standard
if spec.variants["cxxstd"].value != "default":
@@ -478,9 +514,6 @@ def cmake_args(self):
if "+mpi" in spec:
options.extend(
[
self.define("CMAKE_C_COMPILER", spec["mpi"].mpicc),
self.define("CMAKE_CXX_COMPILER", spec["mpi"].mpicxx),
self.define("CMAKE_Fortran_COMPILER", spec["mpi"].mpifc),
self.define("MPI_C_COMPILER", spec["mpi"].mpicc),
self.define("MPI_CXX_COMPILER", spec["mpi"].mpicxx),
self.define("MPI_Fortran_COMPILER", spec["mpi"].mpifc),
@@ -499,6 +532,9 @@ def cmake_args(self):
self.define("CUDA_HOST_COMPILER", spec["mpi"].mpicxx),
]
)
# Make sure we use the same compiler that Trilinos uses
if "+trilinos" in spec:
options.extend([self.define("CMAKE_CXX_COMPILER", spec["trilinos"].kokkos_cxx)])
# Python bindings
if spec.satisfies("@8.5.0:"):
@@ -542,23 +578,25 @@ def cmake_args(self):
# Optional dependencies for which library names are the same as CMake
# variables:
for library in (
"arborx",
"assimp",
"cgal",
"ginkgo",
"gmsh",
"gsl",
"hdf5",
"metis",
"muparser",
"nanoflann",
"p4est",
"petsc",
"slepc",
"trilinos",
"metis",
"sundials",
"nanoflann",
"assimp",
"gmsh",
"muparser",
"symengine",
"ginkgo",
"arborx",
"cgal",
): # 'taskflow'):
"taskflow",
"trilinos",
"vtk",
):
options.append(
self.define_from_variant("DEAL_II_WITH_{0}".format(library.upper()), library)
)

View File

@@ -14,6 +14,8 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/eth-cscs/DLA-Future.git"
maintainers = ["rasolca", "albestro", "msimberg", "aurianer"]
license("BSD-3-Clause")
version("0.2.1", sha256="4c2669d58f041304bd618a9d69d9879a42e6366612c2fc932df3894d0326b7fe")
version("0.2.0", sha256="da73cbd1b88287c86d84b1045a05406b742be924e65c52588bbff200abd81a10")
version("0.1.0", sha256="f7ffcde22edabb3dc24a624e2888f98829ee526da384cd752b2b271c731ca9b1")

View File

@@ -26,6 +26,7 @@ class EpicsBase(MakefilePackage):
def patch(self):
filter_file(r"^\s*CC\s*=.*", "CC = " + spack_cc, "configure/CONFIG.gnuCommon")
filter_file(r"^\s*CCC\s*=.*", "CCC = " + spack_cxx, "configure/CONFIG.gnuCommon")
filter_file(r"\$\(PERL\)\s+\$\(XSUBPP\)", "$(XSUBPP)", "modules/ca/src/perl/Makefile")
@property
def install_targets(self):

View File

@@ -15,6 +15,8 @@ class Fmt(CMakePackage):
url = "https://github.com/fmtlib/fmt/releases/download/7.1.3/fmt-7.1.3.zip"
maintainers("msimberg")
license("MIT")
version("10.1.1", sha256="b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b")
version("10.1.0", sha256="d725fa83a8b57a3cedf238828fa6b167f963041e8f9f7327649bddc68ae316f4")
version("10.0.0", sha256="4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281")

View File

@@ -21,20 +21,30 @@ class Geos(CMakePackage):
maintainers("adamjstewart")
version("3.12.1", sha256="d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03")
version("3.12.0", sha256="d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39")
version("3.11.3", sha256="80d60a2bbc0cde7745a3366b9eb8c0d65a142b03e063ea0a52c364758cd5ee89")
version("3.11.2", sha256="b1f077669481c5a3e62affc49e96eb06f281987a5d36fdab225217e5b825e4cc")
version("3.11.1", sha256="6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2")
version("3.11.0", sha256="79ab8cabf4aa8604d161557b52e3e4d84575acdc0d08cb09ab3f7aaefa4d858a")
version("3.10.6", sha256="078403158da66cad8be39ad1ede5e2fe4b70dcf7bb292fb06a65bdfe8afa6daf")
version("3.10.5", sha256="cc47d95e846e2745c493d8f9f3a9913b1c61f26717a1165898da64352aec4dde")
version("3.10.4", sha256="d6fc11bcfd265cbf2714199174e4c3392d657551e5fd84c74c07c863b29357e3")
version("3.10.3", sha256="3c141b07d61958a758345d5f54e3c735834b2f4303edb9f67fb26914f0d44770")
version("3.10.2", sha256="50bbc599ac386b4c2b3962dcc411f0040a61f204aaef4eba7225ecdd0cf45715")
version("3.10.1", sha256="a8148eec9636814c8ab0f8f5266ce6f9b914ed65b0d083fc43bb0bbb01f83648")
version("3.10.0", sha256="097d70e3c8f688e59633ceb8d38ad5c9b0d7ead5729adeb925dbc489437abe13")
version("3.9.5", sha256="c6c9aedfa8864fb44ba78911408442382bfd0690cf2d4091ae3805c863789036")
version("3.9.4", sha256="70dff2530d8cd2dfaeeb91a5014bd17afb1baee8f0e3eb18e44d5b4dbea47b14")
version("3.9.3", sha256="f8b2314e311456f7a449144efb5e3188c2a28774752bc50fc882a3cd5c89ee35")
version("3.9.2", sha256="44a5a9be21d7d473436bf621c2ddcc3cf5a8bbe3c786e13229618a3b9d861297")
version("3.9.1", sha256="7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a")
version("3.9.0", sha256="bd8082cf12f45f27630193c78bdb5a3cba847b81e72b20268356c2a4fc065269")
version("3.8.4", sha256="6de8c98c1ae7cb0cd2d726a8dc9b7467308c4b4e05f9df94742244e64e441499")
version("3.8.3", sha256="f98315d1ba35c8d1a94a2947235f9e9dfb7057fdec343683f64ff9ad1061255c")
version("3.8.2", sha256="5a102f4614b0c9291504bbefd847ebac18ea717843506bd251d015c7cf9726b4")
version("3.8.1", sha256="4258af4308deb9dbb5047379026b4cd9838513627cb943a44e16c40e42ae17f7")
version("3.8.0", sha256="99114c3dc95df31757f44d2afde73e61b9f742f0b683fd1894cbbee05dda62d5")
version("3.7.2", sha256="2166e65be6d612317115bfec07827c11b403c3f303e0a7420a2106bc999d7707")
version("3.6.2", sha256="045a13df84d605a866602f6020fc6cbf8bf4c42fb50de237a08926e1d7d7652a")
version("3.6.1", sha256="4a2e4e3a7a09a7cfda3211d0f4a235d9fd3176ddf64bd8db14b4ead266189fc5")

View File

@@ -17,6 +17,8 @@ class Gperftools(AutotoolsPackage):
url = "https://github.com/gperftools/gperftools/releases/download/gperftools-2.7/gperftools-2.7.tar.gz"
maintainers("albestro", "eschnett", "msimberg", "teonnik")
license("BSD-3-Clause")
version("2.13", sha256="4882c5ece69f8691e51ffd6486df7d79dbf43b0c909d84d3c0883e30d27323e7")
version("2.12", sha256="fb611b56871a3d9c92ab0cc41f9c807e8dfa81a54a4a9de7f30e838756b5c7c6")
version("2.11", sha256="8ffda10e7c500fea23df182d7adddbf378a203c681515ad913c28a64b87e24dc")

View File

@@ -12,9 +12,22 @@ class Gzip(AutotoolsPackage):
homepage = "https://www.gnu.org/software/gzip/"
url = "https://ftp.gnu.org/gnu/gzip/gzip-1.10.tar.gz"
version("1.12", sha256="5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085")
version("1.11", sha256="3e8a0e0c45bad3009341dce17d71536c4c655d9313039021ce7554a26cd50ed9")
version("1.10", sha256="c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68")
version("1.13", sha256="20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a")
version(
"1.12",
sha256="5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085",
deprecated=True,
)
version(
"1.11",
sha256="3e8a0e0c45bad3009341dce17d71536c4c655d9313039021ce7554a26cd50ed9",
deprecated=True,
)
version(
"1.10",
sha256="c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68",
deprecated=True,
)
# Gzip makes a recursive symlink if built in-source
build_directory = "spack-build"

View File

@@ -207,6 +207,7 @@ class Hdf5(CMakePackage):
variant("hl", default=False, description="Enable the high-level library")
variant("cxx", default=False, description="Enable C++ support")
variant("map", when="@1.14:", default=False, description="Enable MAP API support")
variant("subfiling", when="@1.14:", default=False, description="Enable Subfiling VFD support")
variant("fortran", default=False, description="Enable Fortran support")
variant("java", when="@1.10:", default=False, description="Enable Java support")
variant("threadsafe", default=False, description="Enable thread-safe capabilities")
@@ -329,7 +330,7 @@ class Hdf5(CMakePackage):
patch("fortran-kinds.patch", when="@1.10.7")
# This patch may only be needed with GCC11.2 on macOS, but it's valid for
# This patch may only be needed with GCC 11.2 on macOS, but it's valid for
# any of the head HDF5 versions as of 12/2021. Since it's impossible to
# tell what Fortran version is part of a mixed apple-clang toolchain on
# macOS (which is the norm), and this might be an issue for other compilers
@@ -607,6 +608,7 @@ def cmake_args(self):
# are enabled but the tests are disabled.
spec.satisfies("@1.8.22+shared+tools"),
),
self.define_from_variant("HDF5_ENABLE_SUBFILING_VFD", "subfiling"),
self.define_from_variant("HDF5_ENABLE_MAP_API", "map"),
self.define("HDF5_ENABLE_Z_LIB_SUPPORT", True),
self.define_from_variant("HDF5_ENABLE_SZIP_SUPPORT", "szip"),

View File

@@ -16,6 +16,8 @@ class HpxKokkos(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/STEllAR-GROUP/hpx-kokkos.git"
maintainers("G-071", "msimberg")
license("BSL-1.0")
version("master", branch="master")
version("0.4.0", sha256="dafef55521cf4bf7ab28ebad546ea1d3fb83fac3a9932e292db4ab3666cd833f")
version("0.3.0", sha256="83c1d11dab95552ad0abdae767c71f757811d7b51d82bd231653dc942e89a45d")

View File

@@ -18,6 +18,8 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/STEllAR-GROUP/hpx.git"
maintainers("msimberg", "albestro", "teonnik", "hkaiser")
license("BSL-1.0")
tags = ["e4s"]
version("master", branch="master")

View File

@@ -24,6 +24,7 @@ class Likwid(Package):
git = "https://github.com/RRZE-HPC/likwid.git"
maintainers("TomTheBear")
version("5.3.0", sha256="c290e554c4253124ac2ab8b056e14ee4d23966b8c9fbfa10ba81f75ae543ce4e")
version("5.2.2", sha256="7dda6af722e04a6c40536fc9f89766ce10f595a8569b29e80563767a6a8f940e")
version("5.2.1", sha256="1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2")
version("5.2.0", sha256="aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0")
@@ -65,6 +66,7 @@ class Likwid(Package):
)
variant("fortran", default=True, description="with fortran interface")
variant("cuda", default=False, description="with Nvidia GPU profiling support")
variant("rocm", default=False, description="with AMD GPU profiling support")
variant(
"accessmode",
@@ -83,6 +85,10 @@ class Likwid(Package):
depends_on("lua", when="@5.0.2:")
depends_on("cuda", when="@5: +cuda")
depends_on("hwloc", when="@5.2.0:")
depends_on("rocprofiler-dev", when="@5.3: +rocm")
depends_on("rocm-core", when="@5.3: +rocm")
depends_on("rocm-smi", when="@5.3: +rocm")
depends_on("rocm-smi-lib", when="@5.3: +rocm")
# TODO: check
# depends_on('gnuplot', type='run')
@@ -103,6 +109,31 @@ def setup_run_environment(self, env):
)
for lib in libs.directories:
env.append_path("LD_LIBRARY_PATH", lib)
if "+rocm" in self.spec:
libs = find_libraries(
"librocprofiler64.so.1",
root=self.spec["rocprofiler-dev"].prefix,
shared=True,
recursive=True,
)
for lib in libs.directories:
env.append_path("LD_LIBRARY_PATH", lib)
libs = find_libraries(
"libhsa-runtime64.so",
root=self.spec["rocm-core"].prefix,
shared=True,
recursive=True,
)
for lib in libs.directories:
env.append_path("LD_LIBRARY_PATH", lib)
libs = find_libraries(
"librocm_smi64.so",
root=self.spec["rocm-smi-lib"].prefix,
shared=True,
recursive=True,
)
for lib in libs.directories:
env.append_path("LD_LIBRARY_PATH", lib)
@run_before("install")
def filter_sbang(self):
@@ -170,6 +201,13 @@ def install(self, spec, prefix):
else:
filter_file("^NVIDIA_INTERFACE.*", "NVIDIA_INTERFACE = false", "config.mk")
if "+rocm" in self.spec:
env["ROCM_HOME"] = spec["rocm-core"].prefix
filter_file("^ROCM_INTERFACE.*", "ROCM_INTERFACE = true", "config.mk")
filter_file("^BUILDAPPDAEMON.*", "BUILDAPPDAEMON = true", "config.mk")
else:
filter_file("^ROCM_INTERFACE.*", "ROCM_INTERFACE = false", "config.mk")
if spec.satisfies("^lua"):
filter_file(
"^#LUA_INCLUDE_DIR.*",

View File

@@ -15,6 +15,8 @@ class Metkit(CMakePackage):
maintainers("skosukhin")
version("1.10.17", sha256="1c525891d77ed28cd4c87b065ba4d1aea24d0905452c18d885ccbd567bbfc9b1")
version("1.10.2", sha256="a038050962aecffda27b755c40b0a6ed0db04a2c22cad3d8c93e6109c8ab4b34")
version("1.9.2", sha256="35d5f67196197cc06e5c2afc6d1354981e7c85a441df79a2fbd774e0c343b0b4")
version("1.7.0", sha256="8c34f6d8ea5381bd1bcfb22462349d03e1592e67d8137e76b3cecf134a9d338c")
@@ -26,8 +28,10 @@ class Metkit(CMakePackage):
depends_on("ecbuild@3.4:", type="build")
depends_on("eckit@1.16:")
depends_on("eckit@1.21:", when="@1.10:")
depends_on("eccodes@2.5:", when="+grib")
depends_on("eccodes@2.27:", when="@1.10.2: +grib")
depends_on("odc", when="+odb")

View File

@@ -14,6 +14,8 @@ class Mimalloc(CMakePackage):
git = "https://github.com/microsoft/mimalloc.git"
maintainers("msimberg")
license("MIT")
version("dev-slice", branch="dev-slice")
version("dev", branch="dev")
version("master", branch="master")

View File

@@ -15,6 +15,8 @@ class PikaAlgorithms(CMakePackage):
git = "https://github.com/pika-org/pika-algorithms.git"
maintainers("msimberg", "albestro", "teonnik", "aurianer")
license("BSL-1.0")
version("0.1.4", sha256="67ea5e8545b234f82dcc75612a774f2e3df8425a283f2034c2d1e2e5ac74f945")
version("0.1.3", sha256="53b79fcc0e5decc0a4d70abf0897a4f66141b85eea6d65013f51eec02ad123b7")
version("0.1.2", sha256="286cf5c4db06717fa66c681cec8c99207154dd07e72d72f2b5b4a3cb9ff698bf")

View File

@@ -17,6 +17,8 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/pika-org/pika.git"
maintainers("msimberg", "albestro", "teonnik", "aurianer")
license("BSL-1.0")
version("0.20.0", sha256="f338cceea66a0e3954806b2aca08f6560bba524ecea222f04bc18b483851c877")
version("0.19.1", sha256="674675abf0dd4c6f5a0b2fa3db944b277ed65c62f654029d938a8cab608a9c1d")
version("0.19.0", sha256="f45cc16e4e50cbb183ed743bdc8b775d49776ee33c13ea39a650f4230a5744cb")

View File

@@ -15,6 +15,13 @@ class PyMypy(PythonPackage):
maintainers("adamjstewart")
version("1.7.0", sha256="1e280b5697202efa698372d2f39e9a6713a0395a756b1c6bd48995f8d72690dc")
version("1.6.1", sha256="4d01c00d09a0be62a4ca3f933e315455bde83f37f892ba4b08ce92f3cf44bcc1")
version("1.6.0", sha256="4f3d27537abde1be6d5f2c96c29a454da333a2a271ae7d5bc7110e6d4b7beb3f")
version("1.5.1", sha256="b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92")
version("1.5.0", sha256="f3460f34b3839b9bc84ee3ed65076eb827cd99ed13ed08d723f9083cada4a212")
version("1.4.1", sha256="9bbcd9ab8ea1f2e1c8031c21445b511442cc45c89951e49bbf852cbb70755b1b")
version("1.4.0", sha256="de1e7e68148a213036276d1f5303b3836ad9a774188961eb2684eddff593b042")
version("1.3.0", sha256="e1f4d16e296f5135624b34e8fb741eb0eadedca90862405b1f1fde2040b9bd11")
version("1.2.0", sha256="f70a40410d774ae23fcb4afbbeca652905a04de7948eaf0b1789c8d1426b72d1")
version("1.1.1", sha256="ae9ceae0f5b9059f33dbc62dea087e942c0ccab4b7a003719cb70f9b8abfa32f")
@@ -43,31 +50,34 @@ class PyMypy(PythonPackage):
version("0.670", sha256="e80fd6af34614a0e898a57f14296d0dacb584648f0339c2e000ddbf0f4cc2f8d")
# pyproject.toml
depends_on("py-setuptools@40.6.2:", when="@0.790:", type=("build", "run"))
depends_on("py-setuptools", type=("build", "run"))
depends_on("py-setuptools@40.6.2:", when="@0.790:", type="build")
depends_on("py-setuptools", type="build")
depends_on("py-wheel@0.30:", when="@0.790:", type="build")
depends_on("py-types-psutil", when="@0.981:", type="build")
depends_on("py-types-setuptools", when="@0.981:", type="build")
# setup.py
depends_on("python@3.8:", when="@1.5:", type=("build", "run"))
depends_on("python@3.7:", when="@0.981:", type=("build", "run"))
depends_on("py-typing-extensions@4.1:", when="@1.5:", type=("build", "run"))
depends_on("py-typing-extensions@3.10:", when="@0.930:", type=("build", "run"))
depends_on("py-typing-extensions@3.7.4:", when="@0.700:", type=("build", "run"))
depends_on("py-mypy-extensions@1:", when="@1.1:", type=("build", "run"))
depends_on("py-mypy-extensions@0.4.3:", when="@0.930:1.0", type=("build", "run"))
depends_on("py-mypy-extensions@0.4.3:0.4", when="@0.700:0.929", type=("build", "run"))
depends_on("py-mypy-extensions@0.4.0:0.4", when="@:0.699", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1", when="@0.920: ^python@:3.7", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1.4", when="@0.900:0.910 ^python@:3.7", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1.4", when="@0.700:0.899", type=("build", "run"))
depends_on("py-typed-ast@1.3.1:1.3", when="@:0.699", type=("build", "run"))
depends_on("py-tomli@1.1:", when="@0.950: ^python@:3.10", type=("build", "run"))
depends_on("py-tomli@1.1:", when="@0.930:0.949", type=("build", "run"))
depends_on("py-tomli@1.1:2", when="@0.920:0.929", type=("build", "run"))
depends_on("py-types-psutil", when="@0.981:", type="build")
depends_on("py-types-setuptools", when="@0.981:", type="build")
depends_on("py-types-typed-ast@1.5.8:1.5", when="@0.981:", type="build")
# setup.py
depends_on("python@3.7:", when="@0.981:", type=("build", "run"))
# Historical dependencies
depends_on("py-types-typed-ast@1.5.8.5:1.5", when="@1.2:1.4", type="build")
depends_on("py-types-typed-ast@1.5.8:1.5", when="@0.981:1.1", type="build")
depends_on("py-toml", when="@0.900:0.910", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1", when="@0.920:1.4 ^python@:3.7", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1.4", when="@0.900:0.910 ^python@:3.7", type=("build", "run"))
depends_on("py-typed-ast@1.4.0:1.4", when="@0.700:0.899", type=("build", "run"))
depends_on("py-typed-ast@1.3.1:1.3", when="@:0.699", type=("build", "run"))
# https://github.com/python/mypy/issues/13627
conflicts("^python@3.10.7:", when="@:0.971")

View File

@@ -20,6 +20,7 @@ class PyNumpy(PythonPackage):
maintainers("adamjstewart", "rgommers")
version("main", branch="main")
version("1.26.2", sha256="f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea")
version("1.26.1", sha256="c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe")
version("1.26.0", sha256="f93fc78fe8bf15afe2b8d6b6499f1c73953169fad1e9a8dd086cdff3190e7fdf")
version("1.25.2", sha256="fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760")

View File

@@ -17,6 +17,7 @@ class PyPandas(PythonPackage):
maintainers("adamjstewart")
version("2.1.3", sha256="22929f84bca106921917eb73c1521317ddd0a4c71b395bcf767a106e3494209f")
version("2.1.2", sha256="52897edc2774d2779fbeb6880d2cfb305daa0b1a29c16b91f531a18918a6e0f3")
version("2.1.1", sha256="fecb198dc389429be557cde50a2d46da8434a17fe37d7d41ff102e3987fd947b")
version("2.1.0", sha256="62c24c7fc59e42b775ce0679cfa7b14a5f9bfb7643cfbe708c960699e05fb918")

View File

@@ -0,0 +1,37 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import sys
from spack.package import *
class PyPyspy(PythonPackage):
"""py-spy is a sampling profiler for Python programs."""
homepage = "https://github.com/benfred/py-spy"
url = "https://files.pythonhosted.org/packages/51/70/e8bfeeac2c57f3af9988ca6d6d12cff3a9a1394e0d9a2c63f08555c0552f/py_spy-0.1.0-py2.py3-none-manylinux1_x86_64.whl"
git = "https://github.com/benfred/py-spy.git"
if sys.platform == "darwin":
version(
"0.3.14",
sha256="fe7efe6c91f723442259d428bf1f9ddb9c1679828866b353d539345ca40d9dd2",
expand=False,
url="https://files.pythonhosted.org/packages/4c/f3/ace9005f101cb7d41bd69081ea4d095950a31bb6df8a26cf142928e7658f/py_spy-0.3.14-py2.py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
)
elif sys.platform.startswith("linux"):
version(
"0.3.14",
sha256="f59b0b52e56ba9566305236375e6fc68888261d0d36b5addbe3cf85affbefc0e",
expand=False,
url="https://files.pythonhosted.org/packages/c2/d2/082de8db2285a652a00a39f2bcffaaf0b0c9c378f4830bb5983d2600b2dd/py_spy-0.3.14-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
)
conflicts("target=ppc64:", msg="py-pyspy is only available for x86_64")
conflicts("target=ppc64le:", msg="py-pyspy is only available for x86_64")
conflicts("target=aarch64:", msg="py-pyspy is only available for x86_64")
depends_on("python", type=("build", "run"))

View File

@@ -7,24 +7,29 @@
class PyTorchCluster(PythonPackage):
"""This package consists of a small extension library of
highly optimized graph cluster algorithms for the use in
PyTorch."""
"""This package consists of a small extension library of highly optimized graph cluster
algorithms for the use in PyTorch.
"""
homepage = "https://github.com/rusty1s/pytorch_cluster"
url = "https://github.com/rusty1s/pytorch_cluster/archive/1.5.7.tar.gz"
version("1.6.3", sha256="0e2b08095e03cf87ce9b23b7a7352236a25d3ed92d92351dc020fd927ea8dbfe")
version("1.5.8", sha256="95c6e81e9c4a6235e1b2152ab917021d2060ad995199f6bd7fb39986d37310f0")
version("1.5.7", sha256="71701d2f7f3e458ebe5904c982951349fdb60e6f1654e19c7e102a226e2de72e")
variant("cuda", default=False, description="Enables CUDA support")
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-pytest-runner", type="build")
depends_on("py-scipy", type=("build", "run"))
depends_on("py-torch+cuda", when="+cuda")
depends_on("py-torch~cuda", when="~cuda")
depends_on("py-torch+cuda", when="+cuda", type=("build", "link", "run"))
depends_on("py-torch~cuda", when="~cuda", type=("build", "link", "run"))
# https://github.com/rusty1s/pytorch_cluster/issues/120
depends_on("py-torch~openmp", when="@:1.5 %apple-clang", type=("build", "link", "run"))
# Historical dependencies
depends_on("py-pytest-runner", when="@:1.5", type="build")
def setup_build_environment(self, env):
if "+cuda" in self.spec:

View File

@@ -114,9 +114,6 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# https://github.com/pytorch/pytorch/issues/77811
conflicts("+qnnpack", when="platform=darwin target=aarch64:")
# https://github.com/pytorch/pytorch/issues/80805
conflicts("+openmp", when="platform=darwin target=aarch64:")
# https://github.com/pytorch/pytorch/issues/97397
conflicts(
"~tensorpipe",

View File

@@ -31,7 +31,9 @@ class Qwt(QMakePackage):
depends_on("qt+tools", when="+designer")
depends_on("qt+opengl", when="+opengl")
depends_on("qt")
# Qwt does not support Qt6; this picks the right qmake provider
conflicts("^qt-base", msg="Qwt requires Qt5")
# the qt@5.14.2 limitation was lifted in qwt@6.1.5
# https://sourceforge.net/p/qwt/code/HEAD/tree/tags/qwt-6.1.6/CHANGES-6.1
depends_on("qt@:5.14.2", when="@:6.1.4")

View File

@@ -18,6 +18,48 @@ class RiscvGnuToolchain(AutotoolsPackage):
maintainers("wanlinwang")
version("develop", branch="master", submodules=True)
version(
"2023.10.18",
tag="2023.10.18",
commit="b86b2b37d0acc607156ff56ff17ee105a9b48897",
submodules=True,
)
version(
"2023.10.17",
tag="2023.10.17",
commit="c11f0748276c58df4f9d9602cdc2de5f17cbae8c",
submodules=True,
)
version(
"2023.10.12",
tag="2023.10.12",
commit="e65e7fc58543c821baf4f1fb6d0ef700177b9d89",
submodules=True,
)
version(
"2023.10.06",
tag="2023.10.06",
commit="6e7190e8c95e09d541e69f6f6e39163f808570d5",
submodules=True,
)
version(
"2023.09.27",
tag="2023.09.27",
commit="5afde2de23c6597aaa5069f36574c61bcb39b007",
submodules=True,
)
version(
"2023.09.26",
tag="2023.09.26",
commit="ffb5968884630c7baebba7b2af493f6b5f74ad80",
submodules=True,
)
version(
"2023.09.13",
tag="2023.09.13",
commit="5437780994b830e9eabf467f85f22ed24b5fade1",
submodules=True,
)
version(
"2022.08.08",
tag="2022.08.08",

View File

@@ -14,6 +14,8 @@ class Stdexec(CMakePackage):
git = "https://github.com/NVIDIA/stdexec.git"
maintainers("msimberg", "aurianer")
license("Apache-2.0")
version("23.03", sha256="2c9dfb6e56a190543049d2300ccccd1b626f4bb82af5b607869c626886fadd15")
version("main", branch="main")

View File

@@ -22,6 +22,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
test_requires_compiler = True
maintainers("balos1", "cswoodward", "gardner48")
license("BSD-3-Clause")
# ==========================================================================
# Versions

View File

@@ -20,6 +20,7 @@ class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="master")
version("amd", branch="amd")
version("8.2.0", sha256="d53573e5a399b2b4ab1fcc36e8421c1b6fab36345c0af14f8fa20326e3365f1f")
version("8.1.2", sha256="7b16c442bb01ea8b298c0aab9a2584aa4615d09786aac968cb2f3118c058206b")
version("8.1.1", sha256="766d70b84ece79d88249fe10ff51d2a397a29f274d9fd1e4a4ac39179a9ef23f")
version("8.1.0", sha256="9308844b99a7e762d5704934f7e9f79daf158b0bfc582994303c2e0b31518b34")

View File

@@ -14,6 +14,8 @@ class TracyClient(CMakePackage):
url = "https://github.com/wolfpld/tracy/archive/v0.0.0.tar.gz"
maintainers("msimberg")
license("BSD-3-Clause")
version("master", git="https://github.com/wolfpld/tracy.git", branch="master")
version("0.10", sha256="a76017d928f3f2727540fb950edd3b736caa97b12dbb4e5edce66542cbea6600")
version("0.9", sha256="93a91544e3d88f3bc4c405bad3dbc916ba951cdaadd5fcec1139af6fa56e6bfc")

View File

@@ -14,6 +14,8 @@ class Tracy(MakefilePackage):
url = "https://github.com/wolfpld/tracy/archive/v0.0.0.tar.gz"
maintainers("msimberg")
license("BSD-3-Clause")
version("master", git="https://github.com/wolfpld/tracy.git", branch="master")
version("0.10", sha256="a76017d928f3f2727540fb950edd3b736caa97b12dbb4e5edce66542cbea6600")
version("0.9", sha256="93a91544e3d88f3bc4c405bad3dbc916ba951cdaadd5fcec1139af6fa56e6bfc")

View File

@@ -15,6 +15,8 @@ class Ut(CMakePackage):
maintainers("msimberg")
license("BSL-1.0")
version("master", branch="master")
version("1.1.9", sha256="1a666513157905aa0e53a13fac602b5673dcafb04a869100a85cd3f000c2ed0d")

View File

@@ -15,6 +15,8 @@ class Whip(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/eth-cscs/whip.git"
maintainers("msimberg", "rasolca")
license("BSD-3-Clause")
version("main", branch="main")
version("0.2.0", sha256="d8fec662526accbd1624922fdf01a077d6f312cf253382660e4a2f65e28e8686")
version("0.1.0", sha256="5d557794f4afc8332fc660948a342f69e22bc9e5d575ffb3e3944cf526db5ec9")