Compare commits

..

2 Commits

Author SHA1 Message Date
Satish Balay
2bda8e9f76 add cub-api 2024-12-10 09:12:33 -06:00
Satish Balay
852f248f2f cuda: provides cub - so prevent build errors with having incompatible version of cub - when cuda is a dependency
-       ^hiop@1.1.0%gcc@11.4.0+cuda~cusolver_lu~deepchecking~ginkgo~ipo~jsrun~kron+mpi+raja~rocm~shared~sparse build_system=cmake build_type=Release cuda_arch=70 generator=make arch=linux-ubuntu22.04-x86_64
 -           ^camp@0.2.3%gcc@11.4.0+cuda~ipo~omptarget~openmp~rocm~sycl~tests build_system=cmake build_type=Release cuda_arch=70 generator=make patches=cb9e25b arch=linux-ubuntu22.04-x86_64
[+]              ^blt@0.4.1%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64
[+]              ^cub@2.1.0%gcc@11.4.0 build_system=generic arch=linux-ubuntu22.04-x86_64
 -           ^raja@0.14.0%gcc@11.4.0+cuda~desul+examples+exercises~ipo~omptarget~omptask~openmp~plugins~rocm~run-all-tests~shared~sycl~tests~vectorization build_system=cmake build_type=Release cuda_arch=70 generator=make arch=linux-ubuntu22.04-x86_64

raja build:
-- Found CUB: /scratch/svcpetsc/spack.a/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/cuda-11.7.1-nnyolmrglspl7fm2exxhwlhzplopqeuf/include
vs (triggered by #47720)
-- Found CUB: /scratch/svcpetsc/spack.a/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/cub-2.1.0-jeuemk56wefipunpzgxndxhqusj7ybfj/include
2024-12-02 11:05:51 -06:00
94 changed files with 338 additions and 1043 deletions

View File

@@ -120,7 +120,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build & Deploy ${{ matrix.dockerfile[0] }}
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75
with:
context: dockerfiles/${{ matrix.dockerfile[0] }}
platforms: ${{ matrix.dockerfile[1] }}

View File

@@ -21,6 +21,7 @@ packages:
armci: [armcimpi]
blas: [openblas, amdblis]
c: [gcc]
cub-api: [cub]
cxx: [gcc]
D: [ldc]
daal: [intel-oneapi-daal]

View File

@@ -1326,7 +1326,6 @@ Required:
* Microsoft Visual Studio
* Python
* Git
* 7z
Optional:
* Intel Fortran (needed for some packages)
@@ -1392,13 +1391,6 @@ as the project providing Git support on Windows. This is additionally the recomm
for installing Git on Windows, a link to which can be found above. Spack requires the
utilities vendored by this project.
"""
7zip
"""
A tool for extracting ``.xz`` files is required for extracting source tarballs. The latest 7zip
can be located at https://sourceforge.net/projects/sevenzip/.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step 2: Install and setup Spack
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -24,7 +24,6 @@
Callable,
Deque,
Dict,
Generator,
Iterable,
List,
Match,
@@ -2839,25 +2838,6 @@ def temporary_dir(
remove_directory_contents(tmp_dir)
@contextmanager
def edit_in_place_through_temporary_file(file_path: str) -> Generator[str, None, None]:
"""Context manager for modifying ``file_path`` in place, preserving its inode and hardlinks,
for functions or external tools that do not support in-place editing. Notice that this function
is unsafe in that it works with paths instead of a file descriptors, but this is by design,
since we assume the call site will create a new inode at the same path."""
tmp_fd, tmp_path = tempfile.mkstemp(
dir=os.path.dirname(file_path), prefix=f"{os.path.basename(file_path)}."
)
# windows cannot replace a file with open fds, so close since the call site needs to replace.
os.close(tmp_fd)
try:
shutil.copyfile(file_path, tmp_path, follow_symlinks=True)
yield tmp_path
shutil.copyfile(tmp_path, file_path, follow_symlinks=True)
finally:
os.unlink(tmp_path)
def filesummary(path, print_bytes=16) -> Tuple[int, bytes]:
"""Create a small summary of the given file. Does not error
when file does not exist.

View File

@@ -2334,9 +2334,7 @@ def is_backup_file(file):
if not codesign:
return
for binary in changed_files:
# preserve the original inode by running codesign on a copy
with fsys.edit_in_place_through_temporary_file(binary) as tmp_binary:
codesign("-fs-", tmp_binary)
codesign("-fs-", binary)
# If we are installing back to the same location
# relocate the sbang location if the spack directory changed

View File

@@ -9,7 +9,7 @@
import re
import sys
from itertools import chain
from typing import Any, List, Optional, Tuple
from typing import Any, List, Optional, Set, Tuple
import llnl.util.filesystem as fs
from llnl.util.lang import stable_partition
@@ -21,7 +21,6 @@
import spack.phase_callbacks
import spack.spec
import spack.util.prefix
from spack import traverse
from spack.directives import build_system, conflicts, depends_on, variant
from spack.multimethod import when
from spack.util.environment import filter_system_paths
@@ -167,18 +166,15 @@ def _values(x):
def get_cmake_prefix_path(pkg: spack.package_base.PackageBase) -> List[str]:
"""Obtain the CMAKE_PREFIX_PATH entries for a package, based on the cmake_prefix_path package
attribute of direct build/test and transitive link dependencies."""
edges = traverse.traverse_topo_edges_generator(
traverse.with_artificial_edges([pkg.spec]),
visitor=traverse.MixedDepthVisitor(
direct=dt.BUILD | dt.TEST, transitive=dt.LINK | dt.RUN, key=traverse.by_dag_hash
),
key=traverse.by_dag_hash,
root=False,
all_edges=False, # cover all nodes, not all edges
)
ordered_specs = [edge.spec for edge in edges]
# Add direct build/test deps
selected: Set[str] = {s.dag_hash() for s in pkg.spec.dependencies(deptype=dt.BUILD | dt.TEST)}
# Add transitive link deps
selected.update(s.dag_hash() for s in pkg.spec.traverse(root=False, deptype=dt.LINK))
# Separate out externals so they do not shadow Spack prefixes
externals, spack_built = stable_partition((s for s in ordered_specs), lambda x: x.external)
externals, spack_built = stable_partition(
(s for s in pkg.spec.traverse(root=False, order="topo") if s.dag_hash() in selected),
lambda x: x.external,
)
return filter_system_paths(
path for spec in chain(spack_built, externals) for path in spec.package.cmake_prefix_paths

View File

@@ -124,8 +124,8 @@ def setup_custom_environment(self, pkg, env):
# Edge cases for Intel's oneAPI compilers when using the legacy classic compilers:
# Always pass flags to disable deprecation warnings, since these warnings can
# confuse tools that parse the output of compiler commands (e.g. version checks).
if self.real_version >= Version("2021") and self.real_version < Version("2024"):
if self.real_version >= Version("2021") and self.real_version <= Version("2023"):
env.append_flags("SPACK_ALWAYS_CFLAGS", "-diag-disable=10441")
env.append_flags("SPACK_ALWAYS_CXXFLAGS", "-diag-disable=10441")
if self.real_version >= Version("2021") and self.real_version < Version("2025"):
if self.real_version >= Version("2021") and self.real_version <= Version("2024"):
env.append_flags("SPACK_ALWAYS_FFLAGS", "-diag-disable=10448")

View File

@@ -155,10 +155,10 @@ def setup_custom_environment(self, pkg, env):
# icx+icpx+ifx or icx+icpx+ifort. But to be on the safe side (some users may
# want to try to swap icpx against icpc, for example), and since the Intel LLVM
# compilers accept these diag-disable flags, we apply them for all compilers.
if self.real_version >= Version("2021") and self.real_version < Version("2024"):
if self.real_version >= Version("2021") and self.real_version <= Version("2023"):
env.append_flags("SPACK_ALWAYS_CFLAGS", "-diag-disable=10441")
env.append_flags("SPACK_ALWAYS_CXXFLAGS", "-diag-disable=10441")
if self.real_version >= Version("2021") and self.real_version < Version("2025"):
if self.real_version >= Version("2021") and self.real_version <= Version("2024"):
env.append_flags("SPACK_ALWAYS_FFLAGS", "-diag-disable=10448")
# 2024 release bumped the libsycl version because of an ABI

View File

@@ -375,16 +375,23 @@ def phase_tests(self, builder, phase_name: str, method_names: List[str]):
for name in method_names:
try:
fn = getattr(builder, name, None) or getattr(builder.pkg, name)
# Prefer the method in the package over the builder's.
# We need this primarily to pick up arbitrarily named test
# methods but also some build-time checks.
fn = getattr(builder.pkg, name, getattr(builder, name))
msg = f"RUN-TESTS: {phase_name}-time tests [{name}]"
print_message(logger, msg, verbose)
fn()
except AttributeError as e:
print_message(logger, f"RUN-TESTS: method not implemented [{name}]", verbose)
self.add_failure(e, f"RUN-TESTS: method not implemented [{name}]")
msg = f"RUN-TESTS: method not implemented [{name}]"
print_message(logger, msg, verbose)
self.add_failure(e, msg)
if fail_fast:
break
continue
print_message(logger, f"RUN-TESTS: {phase_name}-time tests [{name}]", verbose)
fn()
if have_tests:
print_message(logger, "Completed testing", verbose)

View File

@@ -13,7 +13,6 @@
import macholib.mach_o
import macholib.MachO
import llnl.util.filesystem as fs
import llnl.util.lang
import llnl.util.tty as tty
from llnl.util.lang import memoized
@@ -276,10 +275,10 @@ def modify_macho_object(cur_path, rpaths, deps, idpath, paths_to_paths):
# Deduplicate and flatten
args = list(itertools.chain.from_iterable(llnl.util.lang.dedupe(args)))
install_name_tool = executable.Executable("install_name_tool")
if args:
with fs.edit_in_place_through_temporary_file(cur_path) as temp_path:
install_name_tool(*args, temp_path)
args.append(str(cur_path))
install_name_tool = executable.Executable("install_name_tool")
install_name_tool(*args)
def macholib_get_paths(cur_path):
@@ -718,8 +717,8 @@ def fixup_macos_rpath(root, filename):
# No fixes needed
return False
with fs.edit_in_place_through_temporary_file(abspath) as temp_path:
executable.Executable("install_name_tool")(*args, temp_path)
args.append(abspath)
executable.Executable("install_name_tool")(*args)
return True

View File

@@ -1249,14 +1249,3 @@ def test_find_input_types(tmp_path: pathlib.Path):
with pytest.raises(TypeError):
fs.find(1, "file.txt") # type: ignore
def test_edit_in_place_through_temporary_file(tmp_path):
(tmp_path / "example.txt").write_text("Hello")
current_ino = os.stat(tmp_path / "example.txt").st_ino
with fs.edit_in_place_through_temporary_file(tmp_path / "example.txt") as temporary:
os.unlink(temporary)
with open(temporary, "w") as f:
f.write("World")
assert (tmp_path / "example.txt").read_text() == "World"
assert os.stat(tmp_path / "example.txt").st_ino == current_ino

View File

@@ -20,8 +20,9 @@ def create_dag(nodes, edges):
"""
specs = {name: Spec(name) for name in nodes}
for parent, child, deptypes in edges:
depflag = deptypes if isinstance(deptypes, dt.DepFlag) else dt.canonicalize(deptypes)
specs[parent].add_dependency_edge(specs[child], depflag=depflag, virtuals=())
specs[parent].add_dependency_edge(
specs[child], depflag=dt.canonicalize(deptypes), virtuals=()
)
return specs
@@ -453,61 +454,3 @@ def test_topo_is_bfs_for_trees(cover):
assert list(traverse.traverse_nodes([binary_tree["A"]], order="topo", cover=cover)) == list(
traverse.traverse_nodes([binary_tree["A"]], order="breadth", cover=cover)
)
@pytest.mark.parametrize("roots", [["A"], ["A", "B"], ["B", "A"], ["A", "B", "A"]])
@pytest.mark.parametrize("order", ["breadth", "post", "pre"])
@pytest.mark.parametrize("include_root", [True, False])
def test_mixed_depth_visitor(roots, order, include_root):
"""Test that the MixedDepthVisitor lists unique edges that are reachable either directly from
roots through build type edges, or transitively through link type edges. The tests ensures that
unique edges are listed exactly once."""
my_graph = create_dag(
nodes=["A", "B", "C", "D", "E", "F", "G", "H", "I"],
edges=(
("A", "B", dt.LINK | dt.RUN),
("A", "C", dt.BUILD),
("A", "D", dt.BUILD | dt.RUN),
("A", "H", dt.LINK),
("A", "I", dt.RUN),
("B", "D", dt.BUILD | dt.LINK),
("C", "E", dt.BUILD | dt.LINK | dt.RUN),
("D", "F", dt.LINK),
("D", "G", dt.BUILD | dt.RUN),
("H", "B", dt.LINK),
),
)
starting_points = traverse.with_artificial_edges([my_graph[root] for root in roots])
visitor = traverse.MixedDepthVisitor(direct=dt.BUILD, transitive=dt.LINK)
if order == "pre":
edges = traverse.traverse_depth_first_edges_generator(
starting_points, visitor, post_order=False, root=include_root
)
elif order == "post":
edges = traverse.traverse_depth_first_edges_generator(
starting_points, visitor, post_order=True, root=include_root
)
elif order == "breadth":
edges = traverse.traverse_breadth_first_edges_generator(
starting_points, visitor, root=include_root
)
artificial_edges = [(None, root) for root in roots] if include_root else []
simple_edges = [
(None if edge.parent is None else edge.parent.name, edge.spec.name) for edge in edges
]
# make sure that every edge is listed exactly once and that the right edges are listed
assert len(simple_edges) == len(set(simple_edges))
assert set(simple_edges) == {
# the roots
*artificial_edges,
("A", "B"),
("A", "C"),
("A", "D"),
("A", "H"),
("B", "D"),
("D", "F"),
("H", "B"),
}

View File

@@ -4,7 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from collections import defaultdict
from typing import Any, Callable, List, NamedTuple, Set, Union
from typing import NamedTuple, Union
import spack.deptypes as dt
import spack.spec
@@ -115,64 +115,6 @@ def neighbors(self, item):
return self.visitor.neighbors(item)
class MixedDepthVisitor:
"""Visits all unique edges of the sub-DAG induced by direct dependencies of type ``direct``
and transitive dependencies of type ``transitive``. An example use for this is traversing build
type dependencies non-recursively, and link dependencies recursively."""
def __init__(
self,
*,
direct: dt.DepFlag,
transitive: dt.DepFlag,
key: Callable[["spack.spec.Spec"], Any] = id,
) -> None:
self.direct_type = direct
self.transitive_type = transitive
self.key = key
self.seen: Set[Any] = set()
self.seen_roots: Set[Any] = set()
def accept(self, item: EdgeAndDepth) -> bool:
# Do not accept duplicate root nodes. This only happens if the user starts iterating from
# multiple roots and lists one of the roots multiple times.
if item.edge.parent is None:
node_id = self.key(item.edge.spec)
if node_id in self.seen_roots:
return False
self.seen_roots.add(node_id)
return True
def neighbors(self, item: EdgeAndDepth) -> List[EdgeAndDepth]:
# If we're here through an artificial source node, it's a root, and we return all
# direct_type and transitive_type edges. If we're here through a transitive_type edge, we
# return all transitive_type edges. To avoid returning the same edge twice:
# 1. If we had already encountered the current node through a transitive_type edge, we
# don't need to return transitive_type edges again.
# 2. If we encounter the current node through a direct_type edge, and we had already seen
# it through a transitive_type edge, only return the non-transitive_type, direct_type
# edges.
node_id = self.key(item.edge.spec)
seen = node_id in self.seen
is_root = item.edge.parent is None
follow_transitive = is_root or bool(item.edge.depflag & self.transitive_type)
follow = self.direct_type if is_root else dt.NONE
if follow_transitive and not seen:
follow |= self.transitive_type
self.seen.add(node_id)
elif follow == dt.NONE:
return []
edges = item.edge.spec.edges_to_dependencies(depflag=follow)
# filter direct_type edges already followed before becuase they were also transitive_type.
if seen:
edges = [edge for edge in edges if not edge.depflag & self.transitive_type]
return sort_edges(edges)
def get_visitor_from_args(
cover, direction, depflag: Union[dt.DepFlag, dt.DepTypes], key=id, visited=None, visitor=None
):
@@ -400,7 +342,9 @@ def traverse_topo_edges_generator(edges, visitor, key=id, root=True, all_edges=F
# maps parent identifier to a list of edges, where None is a special identifier
# for the artificial root/source.
node_to_edges = defaultdict(list)
for edge in traverse_breadth_first_edges_generator(edges, visitor, root=True, depth=False):
for edge in traverse_breadth_first_edges_generator(
edges, CoverEdgesVisitor(visitor, key=key), root=True, depth=False
):
in_edge_count[key(edge.spec)] += 1
parent_id = key(edge.parent) if edge.parent is not None else None
node_to_edges[parent_id].append(edge)
@@ -478,9 +422,9 @@ def traverse_edges(
elif order not in ("post", "pre", "breadth"):
raise ValueError(f"Unknown order {order}")
# In topo traversal we need to construct a sub-DAG including all unique edges even if we are
# yielding a subset of them, hence "edges".
_cover = "edges" if order == "topo" else cover
# In topo traversal we need to construct a sub-DAG including all edges even if we are yielding
# a subset of them, hence "paths".
_cover = "paths" if order == "topo" else cover
visitor = get_visitor_from_args(_cover, direction, deptype, key, visited)
root_edges = with_artificial_edges(specs)

View File

@@ -7,7 +7,7 @@
import re
import struct
from struct import calcsize, unpack, unpack_from
from typing import BinaryIO, Callable, Dict, List, NamedTuple, Optional, Pattern, Tuple
from typing import BinaryIO, Dict, List, NamedTuple, Optional, Pattern, Tuple
class ElfHeader(NamedTuple):
@@ -476,31 +476,6 @@ def get_interpreter(path: str) -> Optional[str]:
return None
def _delete_dynamic_array_entry(
f: BinaryIO, elf: ElfFile, should_delete: Callable[[int, int], bool]
) -> None:
f.seek(elf.pt_dynamic_p_offset)
dynamic_array_fmt = elf.byte_order + ("qQ" if elf.is_64_bit else "lL")
dynamic_array_size = calcsize(dynamic_array_fmt)
new_offset = elf.pt_dynamic_p_offset # points to the new dynamic array
old_offset = elf.pt_dynamic_p_offset # points to the current dynamic array
for _ in range(elf.pt_dynamic_p_filesz // dynamic_array_size):
data = read_exactly(f, dynamic_array_size, "Malformed dynamic array entry")
tag, val = unpack(dynamic_array_fmt, data)
if tag == ELF_CONSTANTS.DT_NULL or not should_delete(tag, val):
if new_offset != old_offset:
f.seek(new_offset)
f.write(data)
f.seek(old_offset + dynamic_array_size)
new_offset += dynamic_array_size
if tag == ELF_CONSTANTS.DT_NULL:
break
old_offset += dynamic_array_size
def delete_rpath(path: str) -> None:
"""Modifies a binary to remove the rpath. It zeros out the rpath string and also drops the
DT_R(UN)PATH entry from the dynamic section, so it doesn't show up in 'readelf -d file', nor
@@ -517,22 +492,29 @@ def delete_rpath(path: str) -> None:
f.seek(rpath_offset)
f.write(new_rpath_string)
# Delete DT_RPATH / DT_RUNPATH entries from the dynamic section
_delete_dynamic_array_entry(
f, elf, lambda tag, _: tag == ELF_CONSTANTS.DT_RPATH or tag == ELF_CONSTANTS.DT_RUNPATH
)
# Next update the dynamic array
f.seek(elf.pt_dynamic_p_offset)
dynamic_array_fmt = elf.byte_order + ("qQ" if elf.is_64_bit else "lL")
dynamic_array_size = calcsize(dynamic_array_fmt)
new_offset = elf.pt_dynamic_p_offset # points to the new dynamic array
old_offset = elf.pt_dynamic_p_offset # points to the current dynamic array
for _ in range(elf.pt_dynamic_p_filesz // dynamic_array_size):
data = read_exactly(f, dynamic_array_size, "Malformed dynamic array entry")
tag, _ = unpack(dynamic_array_fmt, data)
# Overwrite any entry that is not DT_RPATH or DT_RUNPATH, including DT_NULL
if tag != ELF_CONSTANTS.DT_RPATH and tag != ELF_CONSTANTS.DT_RUNPATH:
if new_offset != old_offset:
f.seek(new_offset)
f.write(data)
f.seek(old_offset + dynamic_array_size)
new_offset += dynamic_array_size
def delete_needed_from_elf(f: BinaryIO, elf: ElfFile, needed: bytes) -> None:
"""Delete a needed library from the dynamic section of an ELF file"""
if not elf.has_needed or needed not in elf.dt_needed_strs:
return
# End of the dynamic array
if tag == ELF_CONSTANTS.DT_NULL:
break
offset = elf.dt_needed_strtab_offsets[elf.dt_needed_strs.index(needed)]
_delete_dynamic_array_entry(
f, elf, lambda tag, val: tag == ELF_CONSTANTS.DT_NEEDED and val == offset
)
old_offset += dynamic_array_size
class CStringType:

View File

@@ -13,7 +13,7 @@
import sys
from llnl.util import tty
from llnl.util.filesystem import edit_in_place_through_temporary_file
from llnl.util.filesystem import join_path
from llnl.util.lang import memoized
from spack.util.executable import Executable, which
@@ -81,11 +81,12 @@ def fix_darwin_install_name(path):
Parameters:
path (str): directory in which .dylib files are located
"""
libs = glob.glob(os.path.join(path, "*.dylib"))
install_name_tool = Executable("install_name_tool")
otool = Executable("otool")
libs = glob.glob(join_path(path, "*.dylib"))
for lib in libs:
args = ["-id", lib]
# fix install name first:
install_name_tool = Executable("install_name_tool")
install_name_tool("-id", lib, lib)
otool = Executable("otool")
long_deps = otool("-L", lib, output=str).split("\n")
deps = [dep.partition(" ")[0][1::] for dep in long_deps[2:-1]]
# fix all dependencies:
@@ -97,8 +98,5 @@ def fix_darwin_install_name(path):
# but we don't know builddir (nor how symbolic links look
# in builddir). We thus only compare the basenames.
if os.path.basename(dep) == os.path.basename(loc):
args.extend(("-change", dep, loc))
install_name_tool("-change", dep, loc, lib)
break
with edit_in_place_through_temporary_file(lib) as tmp:
install_name_tool(*args, tmp)

View File

@@ -8,8 +8,8 @@ packages:
gromacs:
require:
- one_of:
- "gromacs@2024.3 %arm ^fftw ^openmpi"
- "gromacs@2024.3 %gcc ^armpl-gcc ^openmpi"
- "gromacs@2021.3 %arm ^fftw ^openmpi"
- "gromacs@2021.3 %gcc ^armpl-gcc ^openmpi"
libfabric:
buildable: true
externals:

View File

@@ -153,8 +153,3 @@ def install_additional_files(self):
join_path(source_directory, "ADOL-C", "examples", "additional_examples")
):
Executable("./checkpointing/checkpointing")()
@property
def libs(self):
"""The name of the library differs from the package name => own libs handling."""
return find_libraries(["libadolc"], root=self.prefix, shared=True, recursive=True)

View File

@@ -15,30 +15,21 @@ class AllLibrary(CMakePackage):
homepage = "http://slms.pages.jsc.fz-juelich.de/websites/all-website/"
url = "https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v0.9.2/loadbalancing-v0.9.2.tar.gz"
git = "https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing.git"
maintainers("junghans")
license("BSD-3-Clause", checked_by="junghans")
version("master", branch="master")
version("0.9.2", sha256="2b4ef52c604c3c0c467712d0912a33c82177610b67edc14df1e034779c6ddb71")
variant("fortran", default=False, description="Build with fortran support")
variant("shared", default=True, description="Build shared libraries")
variant("vtk", default=False, description="Build with vtk support")
variant(
"voronoi",
default=False,
description="Enable voronoi-based loadbalancing scheme",
when="@0.9.3:",
)
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build", when="+fortran")
depends_on("vtk", when="+vtk")
depends_on("voropp", when="+voronoi")
depends_on("mpi")
@@ -48,7 +39,6 @@ def cmake_args(self):
self.define_from_variant("CM_ALL_FORTRAN", "fortran"),
self.define_from_variant("CM_ALL_USE_F08", "fortran"),
self.define_from_variant("CM_ALL_VTK_OUTPUT", "vtk"),
self.define_from_variant("CM_ALL_VORONOI", "voronoi"),
]
if self.run_tests:

View File

@@ -18,7 +18,6 @@ class Apex(CMakePackage):
version("develop", branch="develop")
version("master", branch="master")
version("2.7.0", sha256="81cd7e8dbea35cec2360d6404e20f7527f66410614f06a73c8c782ac2cfdb0b0")
version("2.6.5", sha256="2ba29a1198c904ac209fc6bc02962304a1416443b249f34ef96889aff39644ce")
version("2.6.4", sha256="281a673f447762a488577beaa60e48d88cb6354f220457cf8f05c1de2e1fce70")
version("2.6.3", sha256="7fef12937d3bd1271a01abe44cb931b1d63823fb5c74287a332f3012ed7297d5")

View File

@@ -17,12 +17,16 @@ class Bitgroomingz(CMakePackage):
version("master", branch="master")
version("2022-10-14", commit="a018b20cca9f7d6a5396ab36230e4be6ae1cb25b")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("c", type="build") # generated
variant("shared", default=True, description="build shared libs")
depends_on("zlib-api")
def cmake_args(self):
return [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
args = []
if self.spec.satisfies("+shared"):
args.append("-DBUILD_SHARED_LIBS=ON")
else:
args.append("-DBUILD_SHARED_LIBS=OFF")
return args

View File

@@ -101,8 +101,6 @@ class Caliper(CachedCMakePackage, CudaPackage, ROCmPackage):
variant("vtune", default=False, description="Enable Intel Vtune support")
variant("kokkos", default=True, when="@2.3.0:", description="Enable Kokkos profiling support")
variant("tests", default=False, description="Enable tests")
variant("tools", default=True, description="Enable tools")
# TODO change the 'when' argument for the next release of Caliper
variant("python", default=False, when="@master", description="Build Python bindings")
@@ -158,7 +156,6 @@ def initconfig_compiler_entries(self):
entries.append(cmake_cache_option("BUILD_SHARED_LIBS", spec.satisfies("+shared")))
entries.append(cmake_cache_option("BUILD_TESTING", spec.satisfies("+tests")))
entries.append(cmake_cache_option("WITH_TOOLS", spec.satisfies("+tools")))
entries.append(cmake_cache_option("BUILD_DOCS", False))
entries.append(cmake_cache_path("PYTHON_EXECUTABLE", spec["python"].command.path))

View File

@@ -63,7 +63,7 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage):
variant("omptarget", default=False, description="Build with OpenMP Target support")
variant("sycl", default=False, description="Build with Sycl support")
depends_on("cub", when="+cuda")
depends_on("cub-api", when="+cuda")
depends_on("blt", type="build")
depends_on("blt@0.6.2:", type="build", when="@2024.02.1:")

View File

@@ -31,7 +31,6 @@ class Cmake(Package):
license("BSD-3-Clause")
version("master", branch="master")
version("3.31.0", sha256="300b71db6d69dcc1ab7c5aae61cbc1aa2778a3e00cbd918bc720203e311468c3")
version("3.30.5", sha256="9f55e1a40508f2f29b7e065fa08c29f82c402fa0402da839fffe64a25755a86d")
version("3.30.4", sha256="c759c97274f1e7aaaafcb1f0d261f9de9bf3a5d6ecb7e2df616324a46fe704b2")
version("3.30.3", sha256="6d5de15b6715091df7f5441007425264bdd477809f80333fdf95f846aaff88e4")

View File

@@ -13,8 +13,6 @@ class CrayLibsci(Package):
homepage = "https://docs.nersc.gov/development/libraries/libsci/"
has_code = False # Skip attempts to fetch source that is not available
version("23.02.1.1")
version("22.11.1.2")
version("21.08.1.2")
version("20.06.1")
version("20.03.1")

View File

@@ -18,10 +18,6 @@ class CrayMpich(Package):
maintainers("haampie")
version("8.1.25")
version("8.1.24")
version("8.1.21")
version("8.1.14")
version("8.1.7")
version("8.1.0")
version("8.0.16")

View File

@@ -42,6 +42,8 @@ class Cub(Package):
version("1.7.1", sha256="50b8777b83093fdfdab429a61fccdbfbbb991b3bbc08385118e5ad58e8f62e1d")
version("1.4.1", sha256="7c3784cf59f02d4a88099d6a11e357032bac9eac2b9c78aaec947d1270e21871")
provides("cub-api")
def setup_dependent_build_environment(self, env, dependent_spec):
env.set("CUB_DIR", self.prefix.include.cub.cmake)

View File

@@ -702,6 +702,47 @@ class Cuda(Package):
provides("opencl@:1.2", when="@7:")
provides("opencl@:1.1", when="@:6")
for cuda_ver, cub_ver in [
["12.6.3", "2.5.0"],
["12.6.2", "2.5.0"],
["12.6.1", "2.5.0"],
["12.6.0", "2.5.0"],
["12.5.1", "2.4.0"],
["12.5.0", "2.4.0"],
["12.4.1", "2.3.1"],
["12.4.0", "2.3.1"],
["12.3.2", "2.2.0"],
["12.3.1", "2.2.0"],
["12.3.0", "2.2.0"],
["12.2.2", "2.1.0"],
["12.2.1", "2.1.0"],
["12.2.0", "2.0.1"],
["12.1.1", "2.0.1"],
["12.1.0", "2.0.1"],
["12.0.1", "2.0.1"],
["12.0.0", "2.0.1"],
["11.8.0", "1.15.1"],
["11.7.1", "1.15.0"],
["11.7.0", "1.15.0"],
["11.6.2", "1.15.0"],
["11.6.1", "1.15.0"],
["11.6.0", "1.15.0"],
["11.5.2", "1.13.1"],
["11.5.1", "1.13.1"],
["11.5.0", "1.13.1"],
["11.4.4", "1.12.1"],
["11.4.3", "1.12.1"],
["11.4.2", "1.12.1"],
["11.4.1", "1.12.1"],
["11.4.0", "1.12.1"],
["11.3.1", "1.11.0"],
["11.3.0", "1.11.0"],
["11.2.2", "1.10.0"],
["11.2.1", "1.10.0"],
["11.2.0", "1.10.0"],
]:
provides(f"cub-api@{cub_ver}", when=f"@{cuda_ver}")
@classmethod
def determine_version(cls, exe):
output = Executable(exe)("--version", output=str, error=str)

View File

@@ -3,8 +3,6 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
@@ -128,18 +126,6 @@ class Dbcsr(CMakePackage, CudaPackage, ROCmPackage):
generator("ninja")
depends_on("ninja@1.10:", type="build")
@when("+rocm")
def patch(self):
for directory, subdirectory, files in os.walk(os.getcwd()):
for i in files:
file_path = os.path.join(directory, i)
filter_file("USE ISO_C_BINDING", "USE,INTRINSIC :: ISO_C_BINDING", file_path)
filter_file("USE ISO_FORTRAN_ENV", "USE,INTRINSIC :: ISO_FORTRAN_ENV", file_path)
filter_file("USE omp_lib", "USE,INTRINSIC :: omp_lib", file_path)
filter_file("USE OMP_LIB", "USE,INTRINSIC :: OMP_LIB", file_path)
filter_file("USE iso_c_binding", "USE,INTRINSIC :: iso_c_binding", file_path)
filter_file("USE iso_fortran_env", "USE,INTRINSIC :: iso_fortran_env", file_path)
def cmake_args(self):
spec = self.spec

View File

@@ -22,11 +22,6 @@ class Eospac(Package):
# previous stable release will appear first as a new beta.
# - alpha and beta versions are marked with 'deprecated=True' to help
# spack's version comparison.
version(
"6.5.12",
sha256="62d5f4a6a30c9acb426bd6bd972edc7fad392e5b941f950126ed0d3be5fd5162",
url="https://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.12_39364aabc75c3312022b12e6d16d6a31f1f8945f.tgz",
)
version(
"6.5.11",
sha256="ed821b5a1bf45df1443d5f72d86190317ed9f5bad6a7c73e23bb4365bd76e24c",

View File

@@ -30,8 +30,7 @@ class Fftx(CMakePackage, CudaPackage, ROCmPackage):
version("1.1.0", sha256="a6f95605abc11460bbf51839727a456a31488e27e12a970fc29a1b8c42f4e3b5")
version("1.0.3", sha256="b5ff275facce4a2fbabd0aecc65dd55b744794f2e07cd8cfa91363001c664896")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
depends_on("spiral-software+fftx+simt+jit+mpi")
# depend only on spiral-software, but spiral-software must be installed with variants:

View File

@@ -3,7 +3,6 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import glob
import os
import re
@@ -12,7 +11,7 @@
from llnl.util import tty
from spack.package import *
from spack.util.elf import delete_needed_from_elf, parse_elf
from spack.util.elf import parse_elf
class GccRuntime(Package):
@@ -73,9 +72,6 @@ def install(self, spec, prefix):
for path, name in libraries:
install(path, os.path.join(prefix.lib, name))
if spec.platform in ("linux", "freebsd"):
_drop_libgfortran_zlib(prefix.lib)
def _get_libraries_macho(self):
"""Same as _get_libraries_elf but for Mach-O binaries"""
cc = Executable(self.compiler.cc)
@@ -128,22 +124,6 @@ def headers(self):
return HeaderList([])
def _drop_libgfortran_zlib(lib_dir: str) -> None:
"""Due to a bug in GCC's autotools setup (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87182),
libz sometimes appears as a redundant system dependency of libgfortran. Delete it."""
libraries = glob.glob(os.path.join(lib_dir, "libgfortran*.so*"))
if len(libraries) == 0:
return
with open(libraries[0], "rb+") as f:
elf = parse_elf(f, dynamic_section=True)
if not elf.has_needed:
return
libz = next((x for x in elf.dt_needed_strs if x.startswith(b"libz.so")), None)
if libz is None:
return
delete_needed_from_elf(f, elf, libz)
def get_elf_libraries(compiler, libraries):
"""Get the GCC runtime libraries for ELF binaries"""
cc = Executable(compiler.cc)

View File

@@ -439,11 +439,6 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage):
sha256="1529cff128792fe197ede301a81b02036c8168cb0338df21e4bc7aafe755305a",
when="@14.1.0 target=aarch64:",
)
patch(
"https://raw.githubusercontent.com/Homebrew/formula-patches/f30c309442a60cfb926e780eae5d70571f8ab2cb/gcc/gcc-14.2.0-r2.diff",
sha256="6c0a4708f35ccf2275e6401197a491e3ad77f9f0f9ef5761860768fa6da14d3d",
when="@14.2.0 target=aarch64:",
)
conflicts("+bootstrap", when="@11.3.0,13.1: target=aarch64:")
# Use -headerpad_max_install_names in the build,

View File

@@ -12,36 +12,33 @@ class GdkPixbuf(MesonPackage):
GTK+ 2 but it was split off into a separate package in preparation for the change to GTK+ 3."""
homepage = "https://gitlab.gnome.org/GNOME/gdk-pixbuf"
url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.40/gdk-pixbuf-2.40.0.tar.xz"
git = "https://gitlab.gnome.org/GNOME/gdk-pixbuf"
url = "https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/archive/2.40.0/gdk-pixbuf-2.40.0.tar.gz"
# Falling back to the gitlab source since the mirror here seems to be broken
# url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.40/gdk-pixbuf-2.40.0.tar.xz"
# list_url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/"
list_url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/"
list_depth = 1
license("LGPL-2.1-or-later", checked_by="wdconinc")
version("2.42.12", sha256="d41966831b3d291fcdfe31f683bea4b3f03241d591ddbe550b5db873af3da364")
version("2.42.12", sha256="b9505b3445b9a7e48ced34760c3bcb73e966df3ac94c95a148cb669ab748e3c7")
# https://nvd.nist.gov/vuln/detail/CVE-2022-48622
version(
"2.42.10",
sha256="87a086c51d9705698b22bd598a795efaccf61e4db3a96f439dcb3cd90506dab8",
sha256="ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b",
deprecated=True,
)
version(
"2.42.9",
sha256="226d950375907857b23c5946ae6d30128f08cd75f65f14b14334c7a9fb686e36",
sha256="28f7958e7bf29a32d4e963556d241d0a41a6786582ff6a5ad11665e0347fc962",
deprecated=True,
)
version(
"2.42.6",
sha256="c4f3a84a04bc7c5f4fbd97dce7976ab648c60628f72ad4c7b79edce2bbdb494d",
sha256="c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f",
deprecated=True,
)
version(
"2.42.2",
sha256="249b977279f761979104d7befbb5ee23f1661e29d19a36da5875f3a97952d13f",
sha256="83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15",
deprecated=True,
)

View File

@@ -27,29 +27,11 @@ class Gromacs(CMakePackage, CudaPackage):
url = "https://ftp.gromacs.org/gromacs/gromacs-2022.2.tar.gz"
list_url = "https://ftp.gromacs.org/gromacs"
git = "https://gitlab.com/gromacs/gromacs.git"
maintainers("mabraham", "eirrgang", "junghans")
license("GPL-2.0-or-later", when="@:4.5")
license("LGPL-2.1-or-later", when="@4.6:")
# Deprecation policy:
#
# GROMACS makes an annual major release and supports it with fixes
# in minor updates for about two years. Each such annual release
# series is supported in spack for those two years, then marked as
# deprecated in Spack. Deprecated versions can be removed after
# the next major release of GROMACS is supported in Spack. Users
# needing such an old version can either do a manual installation
# or get an older version of Spack.
#
# Exception: Version 2019.6 is the last version capable of tabulated
# interactions used in the so-called "group scheme." It will be marked
# as deprecated only after equivalent functionality is available in
# a major release of GROMACS, then removed as above.
#
# Exception: Otherwise, versions before 2022 will be removed when
# 2025 is supported.
version("main", branch="main")
version("master", branch="main", deprecated=True)
version("2024.3", sha256="bbda056ee59390be7d58d84c13a9ec0d4e3635617adf2eb747034922cba1f029")
@@ -69,197 +51,45 @@ class Gromacs(CMakePackage, CudaPackage):
version("2022.2", sha256="656404f884d2fa2244c97d2a5b92af148d0dbea94ad13004724b3fcbf45e01bf")
version("2022.1", sha256="85ddab5197d79524a702c4959c2c43be875e0fc471df3a35224939dce8512450")
version("2022", sha256="fad60d606c02e6164018692c6c9f2c159a9130c2bf32e8c5f4f1b6ba2dda2b68")
version(
"2021.7",
sha256="4db7bbbfe5424de48373686ec0e8c5bfa7175d5cd74290ef1c1e840e6df67f06",
deprecated=True,
)
version(
"2021.6",
sha256="52df2c1d7586fd028d9397985c68bd6dd26e6e905ead382b7e6c473d087902c3",
deprecated=True,
)
version(
"2021.5",
sha256="eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6",
deprecated=True,
)
version(
"2021.4",
sha256="cb708a3e3e83abef5ba475fdb62ef8d42ce8868d68f52dafdb6702dc9742ba1d",
deprecated=True,
)
version(
"2021.3",
sha256="e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6",
deprecated=True,
)
version(
"2021.2",
sha256="d940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb",
deprecated=True,
)
version(
"2021.1",
sha256="bc1d0a75c134e1fb003202262fe10d3d32c59bbb40d714bc3e5015c71effe1e5",
deprecated=True,
)
version(
"2021",
sha256="efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b",
deprecated=True,
)
version(
"2020.7",
sha256="744158d8f61b0d36ffe89ec934519b7e0981a7af438897740160da648d36c2f0",
deprecated=True,
)
version(
"2020.6",
sha256="d8bbe57ed3c9925a8cb99ecfe39e217f930bed47d5268a9e42b33da544bdb2ee",
deprecated=True,
)
version(
"2020.5",
sha256="7b6aff647f7c8ee1bf12204d02cef7c55f44402a73195bd5f42cf11850616478",
deprecated=True,
)
version(
"2020.4",
sha256="5519690321b5500c7951aaf53ff624042c3edd1a5f5d6dd1f2d802a3ecdbf4e6",
deprecated=True,
)
version(
"2020.3",
sha256="903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9",
deprecated=True,
)
version(
"2020.2",
sha256="7465e4cd616359d84489d919ec9e4b1aaf51f0a4296e693c249e83411b7bd2f3",
deprecated=True,
)
version(
"2020.1",
sha256="e1666558831a3951c02b81000842223698016922806a8ce152e8f616e29899cf",
deprecated=True,
)
version(
"2020",
sha256="477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01",
deprecated=True,
)
version("2021.7", sha256="4db7bbbfe5424de48373686ec0e8c5bfa7175d5cd74290ef1c1e840e6df67f06")
version("2021.6", sha256="52df2c1d7586fd028d9397985c68bd6dd26e6e905ead382b7e6c473d087902c3")
version("2021.5", sha256="eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6")
version("2021.4", sha256="cb708a3e3e83abef5ba475fdb62ef8d42ce8868d68f52dafdb6702dc9742ba1d")
version("2021.3", sha256="e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6")
version("2021.2", sha256="d940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb")
version("2021.1", sha256="bc1d0a75c134e1fb003202262fe10d3d32c59bbb40d714bc3e5015c71effe1e5")
version("2021", sha256="efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b")
version("2020.7", sha256="744158d8f61b0d36ffe89ec934519b7e0981a7af438897740160da648d36c2f0")
version("2020.6", sha256="d8bbe57ed3c9925a8cb99ecfe39e217f930bed47d5268a9e42b33da544bdb2ee")
version("2020.5", sha256="7b6aff647f7c8ee1bf12204d02cef7c55f44402a73195bd5f42cf11850616478")
version("2020.4", sha256="5519690321b5500c7951aaf53ff624042c3edd1a5f5d6dd1f2d802a3ecdbf4e6")
version("2020.3", sha256="903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9")
version("2020.2", sha256="7465e4cd616359d84489d919ec9e4b1aaf51f0a4296e693c249e83411b7bd2f3")
version("2020.1", sha256="e1666558831a3951c02b81000842223698016922806a8ce152e8f616e29899cf")
version("2020", sha256="477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01")
version("2019.6", sha256="bebe396dc0db11a9d4cc205abc13b50d88225617642508168a2195324f06a358")
version(
"2019.5",
sha256="438061a4a2d45bbb5cf5c3aadd6c6df32d2d77ce8c715f1c8ffe56156994083a",
deprecated=True,
)
version(
"2019.4",
sha256="ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867",
deprecated=True,
)
version(
"2019.3",
sha256="4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573",
deprecated=True,
)
version(
"2019.2",
sha256="bcbf5cc071926bc67baa5be6fb04f0986a2b107e1573e15fadcb7d7fc4fb9f7e",
deprecated=True,
)
version(
"2019.1",
sha256="b2c37ed2fcd0e64c4efcabdc8ee581143986527192e6e647a197c76d9c4583ec",
deprecated=True,
)
version(
"2019",
sha256="c5b281a5f0b5b4eeb1f4c7d4dc72f96985b566561ca28acc9c7c16f6ee110d0b",
deprecated=True,
)
version(
"2018.8",
sha256="776923415df4bc78869d7f387c834141fdcda930b2e75be979dc59ecfa6ebecf",
deprecated=True,
)
version(
"2018.5",
sha256="32261df6f7ec4149fc0508f9af416953d056e281590359838c1ed6644ba097b8",
deprecated=True,
)
version(
"2018.4",
sha256="6f2ee458c730994a8549d6b4f601ecfc9432731462f8bd4ffa35d330d9aaa891",
deprecated=True,
)
version(
"2018.3",
sha256="4423a49224972969c52af7b1f151579cea6ab52148d8d7cbae28c183520aa291",
deprecated=True,
)
version(
"2018.2",
sha256="4bdde8120c510b6543afb4b18f82551fddb11851f7edbd814aa24022c5d37857",
deprecated=True,
)
version(
"2018.1",
sha256="4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd",
deprecated=True,
)
version(
"2018",
sha256="deb5d0b749a52a0c6083367b5f50a99e08003208d81954fb49e7009e1b1fd0e9",
deprecated=True,
)
version(
"2016.6",
sha256="bac0117d2cad21f9b94fe5b854fb9ae7435b098a6da4e732ee745f18e52473d7",
deprecated=True,
)
version(
"2016.5",
sha256="57db26c6d9af84710a1e0c47a1f5bf63a22641456448dcd2eeb556ebd14e0b7c",
deprecated=True,
)
version(
"2016.4",
sha256="4be9d3bfda0bdf3b5c53041e0b8344f7d22b75128759d9bfa9442fe65c289264",
deprecated=True,
)
version(
"2016.3",
sha256="7bf00e74a9d38b7cef9356141d20e4ba9387289cbbfd4d11be479ef932d77d27",
deprecated=True,
)
version(
"5.1.5",
sha256="c25266abf07690ecad16ed3996899b1d489cbb1ef733a1befb3b5c75c91a703e",
deprecated=True,
)
version(
"5.1.4",
sha256="0f3793d8f1f0be747cf9ebb0b588fb2b2b5dc5acc32c3046a7bee2d2c03437bc",
deprecated=True,
)
version(
"5.1.2",
sha256="39d6f1d7ae8ba38cea6089da40676bfa4049a49903d21551abc030992a58f304",
deprecated=True,
)
version(
"4.6.7",
sha256="6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9",
deprecated=True,
)
version(
"4.5.5",
sha256="e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba",
deprecated=True,
)
version("2019.5", sha256="438061a4a2d45bbb5cf5c3aadd6c6df32d2d77ce8c715f1c8ffe56156994083a")
version("2019.4", sha256="ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867")
version("2019.3", sha256="4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573")
version("2019.2", sha256="bcbf5cc071926bc67baa5be6fb04f0986a2b107e1573e15fadcb7d7fc4fb9f7e")
version("2019.1", sha256="b2c37ed2fcd0e64c4efcabdc8ee581143986527192e6e647a197c76d9c4583ec")
version("2019", sha256="c5b281a5f0b5b4eeb1f4c7d4dc72f96985b566561ca28acc9c7c16f6ee110d0b")
version("2018.8", sha256="776923415df4bc78869d7f387c834141fdcda930b2e75be979dc59ecfa6ebecf")
version("2018.5", sha256="32261df6f7ec4149fc0508f9af416953d056e281590359838c1ed6644ba097b8")
version("2018.4", sha256="6f2ee458c730994a8549d6b4f601ecfc9432731462f8bd4ffa35d330d9aaa891")
version("2018.3", sha256="4423a49224972969c52af7b1f151579cea6ab52148d8d7cbae28c183520aa291")
version("2018.2", sha256="4bdde8120c510b6543afb4b18f82551fddb11851f7edbd814aa24022c5d37857")
version("2018.1", sha256="4d3533340499323fece83b4a2d4251fa856376f2426c541e00b8e6b4c0d705cd")
version("2018", sha256="deb5d0b749a52a0c6083367b5f50a99e08003208d81954fb49e7009e1b1fd0e9")
version("2016.6", sha256="bac0117d2cad21f9b94fe5b854fb9ae7435b098a6da4e732ee745f18e52473d7")
version("2016.5", sha256="57db26c6d9af84710a1e0c47a1f5bf63a22641456448dcd2eeb556ebd14e0b7c")
version("2016.4", sha256="4be9d3bfda0bdf3b5c53041e0b8344f7d22b75128759d9bfa9442fe65c289264")
version("2016.3", sha256="7bf00e74a9d38b7cef9356141d20e4ba9387289cbbfd4d11be479ef932d77d27")
version("5.1.5", sha256="c25266abf07690ecad16ed3996899b1d489cbb1ef733a1befb3b5c75c91a703e")
version("5.1.4", sha256="0f3793d8f1f0be747cf9ebb0b588fb2b2b5dc5acc32c3046a7bee2d2c03437bc")
version("5.1.2", sha256="39d6f1d7ae8ba38cea6089da40676bfa4049a49903d21551abc030992a58f304")
version("4.6.7", sha256="6afb1837e363192043de34b188ca3cf83db6bd189601f2001a1fc5b0b2a214d9")
version("4.5.5", sha256="e0605e4810b0d552a8761fef5540c545beeaf85893f4a6e21df9905a33f871ba")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
@@ -283,22 +113,11 @@ class Gromacs(CMakePackage, CudaPackage):
variant(
"heffte",
default=False,
when="@2021: +mpi",
when="@2021: +sycl+mpi",
description="Enable multi-GPU FFT support with HeFFTe",
)
depends_on("heffte +cuda", when="+heffte +cuda")
depends_on("heffte +sycl", when="+heffte +sycl")
variant("opencl", default=False, description="Enable OpenCL support")
variant("sycl", default=False, when="@2021:", description="Enable SYCL support")
requires(
"^intel-oneapi-runtime",
"^hipsycl %clang",
policy="one_of",
when="+sycl",
msg="GROMACS SYCL support comes either from intel-oneapi-runtime or a "
+ "package that provides the virtual package `sycl`, such as AdaptiveCpp "
+ "plus a clang compiler.",
)
variant("sycl", default=False, when="@2021: %clang", description="Enable SYCL support")
variant(
"intel-data-center-gpu-max",
default=False,
@@ -477,15 +296,6 @@ class Gromacs(CMakePackage, CudaPackage):
+ "The g++ location is written to icp{c,x}.cfg",
)
variant(
"itt",
default=False,
when="@2024:",
description="Enable Instrumentation and Tracing Technology (ITT)"
+ " profiling API (from Intel)",
)
depends_on("intel-oneapi-vtune", "+itt")
depends_on("fftw-api@3")
depends_on("cmake@2.8.8:3", type="build")
depends_on("cmake@3.4.3:3", type="build", when="@2018:")
@@ -804,13 +614,6 @@ def cmake_args(self):
options.append("-DGMX_GPU_NB_CLUSTER_SIZE=8")
options.append("-DGMX_GPU_NB_NUM_CLUSTER_PER_CELL_X=1")
if "+itt" in self.spec:
options.append("-DGMX_USE_ITT=on")
options.append(
"-DITTNOTIFY_INCLUDE_DIR=%s"
% self.spec["intel-oneapi-vtune"].package.headers.directories[0]
)
if self.spec.satisfies("~nblib"):
options.append("-DGMX_INSTALL_NBLIB_API=OFF")
if self.spec.satisfies("~gmxapi"):

View File

@@ -58,9 +58,6 @@ class Hip(CMakePackage):
conflicts("+asan", when="os=centos7")
conflicts("+asan", when="os=centos8")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cuda", when="+cuda")
depends_on("cmake@3.16.8:", type="build")
@@ -534,6 +531,12 @@ def patch(self):
"clr/hipamd/hip-config-amd.cmake",
string=True,
)
filter_file(
'"${ROCM_PATH}/llvm"',
self.spec["llvm-amdgpu"].prefix,
"clr/hipamd/src/hiprtc/CMakeLists.txt",
string=True,
)
perl = self.spec["perl"].command
if self.spec.satisfies("@:5.5"):
@@ -558,12 +561,7 @@ def patch(self):
filter_file(" -lnuma", f" -L{numactl} -lnuma", "hipBin_amd.h")
def cmake_args(self):
args = [
# find_package(Clang) and find_package(LLVM) in clr/hipamd/src/hiprtc/CMakeLists.txt
# should find llvm-amdgpu
self.define("LLVM_ROOT", self.spec["llvm-amdgpu"].prefix),
self.define("Clang_ROOT", self.spec["llvm-amdgpu"].prefix),
]
args = []
if self.spec.satisfies("+rocm"):
args.append(self.define("HSA_PATH", self.spec["hsa-rocr-dev"].prefix))
args.append(self.define("HIP_COMPILER", "clang"))

View File

@@ -19,7 +19,7 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
git = "https://github.com/hypre-space/hypre.git"
tags = ["e4s", "radiuss"]
maintainers("ulrikeyang", "osborn9", "victorapm", "balay")
maintainers("ulrikeyang", "osborn9", "balay")
test_requires_compiler = True
@@ -74,7 +74,6 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
variant(
"superlu-dist", default=False, description="Activates support for SuperLU_Dist library"
)
variant("lapack", default=True, description="Use external blas/lapack")
variant("int64", default=False, description="Use 64bit integers")
variant("mixedint", default=False, description="Use 64bit integers while reducing memory use")
variant("complex", default=False, description="Use complex values")
@@ -124,8 +123,8 @@ def patch(self): # fix sequential compilation in 'src/seq_mv'
filter_file("\tmake", "\t$(MAKE)", "src/seq_mv/Makefile")
depends_on("mpi", when="+mpi")
depends_on("blas", when="+lapack")
depends_on("lapack", when="+lapack")
depends_on("blas")
depends_on("lapack")
depends_on("magma", when="+magma")
depends_on("superlu-dist", when="+superlu-dist+mpi")
depends_on("rocsparse", when="+rocm")
@@ -199,20 +198,17 @@ def url_for_version(self, version):
def configure_args(self):
spec = self.spec
configure_args = [f"--prefix={prefix}"]
# Note: --with-(lapack|blas)_libs= needs space separated list of names
if spec.satisfies("+lapack"):
configure_args.append("--with-lapack")
configure_args.append("--with-blas")
configure_args.append("--with-lapack-libs=%s" % " ".join(spec["lapack"].libs.names))
configure_args.append("--with-blas-libs=%s" % " ".join(spec["blas"].libs.names))
configure_args.append(
"--with-lapack-lib-dirs=%s" % " ".join(spec["lapack"].libs.directories)
)
configure_args.append(
"--with-blas-lib-dirs=%s" % " ".join(spec["blas"].libs.directories)
)
lapack = spec["lapack"].libs
blas = spec["blas"].libs
configure_args = [
"--prefix=%s" % prefix,
"--with-lapack-libs=%s" % " ".join(lapack.names),
"--with-lapack-lib-dirs=%s" % " ".join(lapack.directories),
"--with-blas-libs=%s" % " ".join(blas.names),
"--with-blas-lib-dirs=%s" % " ".join(blas.directories),
]
if spec.satisfies("+mpi"):
os.environ["CC"] = spec["mpi"].mpicc
@@ -249,9 +245,7 @@ def configure_args(self):
configure_args.append("--without-superlu")
# MLI and FEI do not build without superlu on Linux
configure_args.append("--without-mli")
# FEI option was removed in hypre 2.17
if self.version < Version("2.17.0"):
configure_args.append("--without-fei")
configure_args.append("--without-fei")
if spec.satisfies("+superlu-dist"):
configure_args.append(

View File

@@ -14,7 +14,6 @@ class Igraph(CMakePackage, AutotoolsPackage):
license("GPL-2.0-or-later")
version("0.10.15", sha256="03ba01db0544c4e32e51ab66f2356a034394533f61b4e14d769b9bbf5ad5e52c")
version("0.10.13", sha256="c6dc44324f61f52c098bedb81f6a602365d39d692d5068ca4fc3734b2a15e64c")
version("0.10.6", sha256="99bf91ee90febeeb9a201f3e0c1d323c09214f0b5f37a4290dc3b63f52839d6d")
version("0.7.1", sha256="d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df")

View File

@@ -22,12 +22,6 @@ class IntelOneapiDpl(IntelOneApiLibraryPackage):
homepage = "https://github.com/oneapi-src/oneDPL"
version(
"2022.7.1",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/de3c613f-829c-4bdc-aa2b-6129eece3bd9/intel-onedpl-2022.7.1.15_offline.sh",
sha256="737f8d29f50fcb26abf7a39373305c177d8b91a70dbc5fed9d41aabfcc8bad5a",
expand=False,
)
version(
"2022.7.0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/85ad74ff-f4fa-45e2-b50d-67d637d42baa/intel-onedpl-2022.7.0.647_offline.sh",

View File

@@ -21,12 +21,6 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html"
version(
"2021.14.1",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/1acd5e79-796c-401a-ab31-a3dc7b20c6a2/intel-mpi-2021.14.1.7_offline.sh",
sha256="6459b9fc81fad9b9955de7fd9904e67fcf2ada3564ce0a74b9c14ea8fb533ddf",
expand=False,
)
version(
"2021.14.0",
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/4b14b28c-2ca6-4559-a0ca-8a157627e0c8/intel-mpi-2021.14.0.791_offline.sh",

View File

@@ -70,7 +70,6 @@ class Ip(CMakePackage):
depends_on("sp precision=d", when="@4.1:4 precision=d")
depends_on("sp precision=8", when="@4.1:4 precision=8")
depends_on("lapack", when="@5.1:")
depends_on("cmake@3.18:", when="@5.1:")
def cmake_args(self):
args = [

View File

@@ -53,9 +53,8 @@ class Julia(MakefilePackage):
version("1.6.5", sha256="b70ae299ff6b63a9e9cbf697147a48a31b4639476d1947cb52e4201e444f23cb")
version("1.6.4", sha256="a4aa921030250f58015201e28204bff604a007defc5a379a608723e6bb1808d4")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
variant("precompile", default=True, description="Improve julia startup time")
variant("openlibm", default=True, description="Use openlibm instead of libm")
@@ -250,9 +249,6 @@ class Julia(MakefilePackage):
depends_on("zlib-api")
depends_on("zlib +shared +pic +optimize", when="^[virtuals=zlib-api] zlib")
# https://github.com/JuliaLang/julia/pull/45649#issuecomment-1192377430
conflicts("%gcc@12:", when="@:1.7")
# Patches for julia
patch("julia-1.6-system-libwhich-and-p7zip-symlink.patch", when="@1.6.0:1.6")
patch("use-add-rpath.patch", when="@:1.8.0")

View File

@@ -66,6 +66,9 @@ class LinaroForge(Package):
version(
"22.1.4", sha256="4e2af481a37b4c99dba0de6fac75ac945316955fc4170d06e321530adea7ac9f"
)
version(
"21.1.3", sha256="4a4ff7372aad5a31fc9e18b7b6c493691ab37d8d44a3158584e62d1ab82b0eeb"
)
elif platform.machine() == "ppc64le":
# N.B. support for ppc64le was dropped in 24.0
version(
@@ -94,6 +97,9 @@ class LinaroForge(Package):
version(
"22.0.4", sha256="f4cb5bcbaa67f9209299fe4653186a2829760b8b16a2883913aa43766375b04c"
)
version(
"21.1.3", sha256="eecbc5686d60994c5468b2d7cd37bebe5d9ac0ba37bd1f98fbfc69b071db541e"
)
elif platform.machine() == "x86_64":
version("24.1", sha256="0b96878ab73c20b39c4730ed15f24ca86dc5985637ff5d8e68f55e1e802e5fe3")
version(
@@ -141,6 +147,9 @@ class LinaroForge(Package):
version(
"22.0.4", sha256="a2c8c1da38b9684d7c4656a98b3fc42777b03fd474cd0bf969324804f47587e5"
)
version(
"21.1.3", sha256="03dc82f1d075deb6f08d1e3e6592dc9b630d406c08a1316d89c436b5874f3407"
)
variant(
"probe",

View File

@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from os import symlink
from spack.package import *
@@ -40,7 +42,9 @@ def install(self, spec, prefix):
"^TEsorter=.*$", "TEsorter={}".format(spec["py-tesorter"].prefix.bin), "paths"
)
install_tree(".", prefix)
mkdirp(prefix.opt)
mkdirp(prefix.bin)
def setup_run_environment(self, env):
env.prepend_path("PATH", self.prefix)
install_tree(".", prefix.opt.ltr_retriever)
symlink(prefix.opt.ltr_retriever.LTR_retriever, prefix.bin.LTR_retriever)

View File

@@ -26,8 +26,7 @@ class LuaSol2(CMakePackage):
version("3.0.3", sha256="bf089e50387edfc70063e24fd7fbb693cceba4a50147d864fabedd1b33483582")
version("3.0.2", sha256="3f5f369eae6732ae9a315fe4370bbdc9900d2f2f4f291206aeb5b2d5533f0c99")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
# Lua is not needed when building, since sol2 is headers-only
depends_on("lua", type=("link", "run"))

View File

@@ -383,7 +383,6 @@ def cmake_args(self):
# - MVAPICH --> mvapich
# - HPE MPT --> mpt
# - Cray MPICH --> mpich
# - HPC-X --> openmpi
if self.spec.satisfies("^mpich"):
args.append(self.define("MPI_STACK", "mpich"))
@@ -399,8 +398,6 @@ def cmake_args(self):
args.append(self.define("MPI_STACK", "mpt"))
elif self.spec.satisfies("^cray-mpich"):
args.append(self.define("MPI_STACK", "mpich"))
elif self.spec.satisfies("^hpcx-mpi"):
args.append(self.define("MPI_STACK", "openmpi"))
else:
raise InstallError("Unsupported MPI stack")

View File

@@ -702,10 +702,8 @@ def find_optional_library(name, prefix):
if "+mpi" in spec:
options += ["MPICXX=%s" % spec["mpi"].mpicxx]
hypre = spec["hypre"]
all_hypre_libs = hypre.libs
if "+lapack" in hypre:
all_hypre_libs += hypre["lapack"].libs + hypre["blas"].libs
# The hypre package always links with 'blas' and 'lapack'.
all_hypre_libs = hypre.libs + hypre["lapack"].libs + hypre["blas"].libs
hypre_gpu_libs = ""
if "+cuda" in hypre:
hypre_gpu_libs = " -lcusparse -lcurand -lcublas"

View File

@@ -92,8 +92,6 @@ def cmake_args(self):
or spec.satisfies("%apple-clang")
or spec.satisfies("%oneapi")
or spec.satisfies("%arm")
or spec.satisfies("%cce")
or spec.satisfies("%rocmcc")
):
c_flags.append("-Wno-error=implicit-function-declaration")
@@ -118,8 +116,6 @@ class NetlibScalapack(ScalapackBase):
git = "https://github.com/Reference-ScaLAPACK/scalapack"
tags = ["e4s"]
maintainers("etiennemlb")
license("BSD-3-Clause-Open-MPI")
version("2.2.0", sha256="40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57")

View File

@@ -15,7 +15,6 @@ class Nghttp2(AutotoolsPackage):
license("MIT")
version("1.64.0", sha256="20e73f3cf9db3f05988996ac8b3a99ed529f4565ca91a49eb0550498e10621e8")
version("1.63.0", sha256="9318a2cc00238f5dd6546212109fb833f977661321a2087f03034e25444d3dbb")
version("1.62.1", sha256="d0b0b9d00500ee4aa3bfcac00145d3b1ef372fd301c35bff96cf019c739db1b4")
version("1.62.0", sha256="482e41a46381d10adbdfdd44c1942ed5fd1a419e0ab6f4a5ff5b61468fe6f00d")

View File

@@ -27,8 +27,7 @@ class OpenclClhpp(CMakePackage):
version("2.0.10", sha256="fa27456295c3fa534ce824eb0314190a8b3ebd3ba4d93a0b1270fc65bf378f2b")
version("2.0.9", sha256="ba8ac4977650d833804f208a1b0c198006c65c5eac7c83b25dc32cea6199f58c")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
root_cmakelists_dir = "include"

View File

@@ -58,8 +58,8 @@ class Openscenegraph(CMakePackage):
) # Qt windowing system was moved into separate osgQt project
depends_on("qt@4:", when="@3.2:3.5.4")
depends_on("qt@:4", when="@:3.1")
depends_on("libxinerama", when="platform=linux")
depends_on("libxrandr", when="platform=linux")
depends_on("libxinerama")
depends_on("libxrandr")
depends_on("libpng")
depends_on("jasper")
depends_on("libtiff")

View File

@@ -22,8 +22,7 @@ class Pagmo2(CMakePackage):
version("master", branch="master")
version("2.18.0", sha256="5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
depends_on("boost+system+serialization+thread")
depends_on("intel-tbb")

View File

@@ -38,8 +38,7 @@ class Pdt(AutotoolsPackage):
version("3.19", sha256="d57234077e2e999f2acf9860ea84369a4694b50cc17fa6728e5255dc5f4a2160")
version("3.18.1", sha256="d06c2d1793fadebf169752511e5046d7e02cf3fead6135a35c34b1fee6d6d3b2")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
variant("pic", default=False, description="Builds with pic")
@@ -51,21 +50,21 @@ def patch(self):
filter_file(r"PDT_GXX=g\+\+ ", r"PDT_GXX=clang++ ", "ductape/Makefile")
def configure(self, spec, prefix):
options = [f"-prefix={prefix}"]
if spec.satisfies("%xl"):
options = ["-prefix=%s" % prefix]
if self.compiler.name == "xl":
options.append("-XLC")
elif spec.satisfies("%intel"):
elif self.compiler.name == "intel":
options.append("-icpc")
elif spec.satisfies("%oneapi"):
elif self.compiler.name == "oneapi":
if spec.satisfies("@3.25.2:"):
options.append("-icpx")
else:
options.append("-icpc")
elif spec.satisfies("%gcc"):
elif self.compiler.name == "gcc":
options.append("-GNU")
elif spec.satisfies("%clang") or spec.satisfies("%apple-clang") or spec.satisfies("%aocc"):
elif self.compiler.name in ["clang", "apple-clang", "aocc"]:
options.append("-clang")
elif spec.satisfies("%cce"):
elif self.compiler.name == "cce":
options.append("-CC")
else:
raise InstallError("Unknown/unsupported compiler family: " + self.compiler.name)

View File

@@ -11,9 +11,8 @@ class PyAzureBatch(PythonPackage):
"""Microsoft Azure Batch Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
pypi = "azure-batch/azure-batch-14.2.0.tar.gz"
pypi = "azure-batch/azure-batch-9.0.0.zip"
version("14.2.0", sha256="c79267d6c3d3fe14a16a422ab5bbfabcbd68ed0b58b6bbcdfa0c8345c4c78532")
version("14.0.0", sha256="165b1e99b86f821024c4fae85fb34869d407aa0ebb0ca4b96fb26d859c26c934")
version("13.0.0", sha256="e9295de70404d276eda0dd2253d76397439abe5d8f18c1fca199c49b8d6ae30a")
version("12.0.0", sha256="1a9b1e178984a7bf495af67bcce51f0db1e4a8a957afb29e33554a14a9674deb")
@@ -21,7 +20,7 @@ class PyAzureBatch(PythonPackage):
version("10.0.0", sha256="83d7a2b0be42ca456ac2b56fa3dc6ce704c130e888d37d924072c1d3718f32d0")
version("9.0.0", sha256="47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-batch_14.2.0/sdk/batch/azure-batch/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-batch_14.0.0/sdk/batch/azure-batch/setup.py
depends_on("py-setuptools", type="build")
@@ -31,11 +30,3 @@ class PyAzureBatch(PythonPackage):
with when("@:12"):
depends_on("py-msrest@0.6.21:", when="@11:", type=("build", "run"))
depends_on("py-msrest@0.5.0:", type=("build", "run"))
def url_for_version(self, version):
if version < Version("14.1.0"):
return "https://pypi.io/packages/source/a/azure-batch/azure-batch-{0}.zip".format(
version
)
return super().url_for_version(version)

View File

@@ -15,7 +15,6 @@ class PyAzureCore(PythonPackage):
license("MIT")
version("1.30.2", sha256="a14dc210efcd608821aa472d9fb8e8d035d29b68993819147bc290a8ac224472")
version("1.30.0", sha256="6f3a7883ef184722f6bd997262eddaf80cfe7e5b3e0caaaf8db1695695893d35")
version("1.29.7", sha256="2944faf1a7ff1558b1f457cabf60f279869cabaeef86b353bed8eb032c7d8c5e")
version("1.29.2", sha256="beb0fe88d1043d8457318e8fb841d9caa648211092eda213c16b376401f3710d")
@@ -27,9 +26,8 @@ class PyAzureCore(PythonPackage):
version("1.7.0", sha256="a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c")
version("1.6.0", sha256="d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-core_1.30.2/sdk/core/azure-core/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-core_1.30.0/sdk/core/azure-core/setup.py
depends_on("python@3.8:", type=("build", "run"), when="@1.30.2:")
depends_on("py-setuptools", type="build")
depends_on("py-anyio@3:4", when="@1.29.6", type=("build", "run"))
depends_on("py-requests@2.21:", when="@1.29.6:", type=("build", "run"))

View File

@@ -21,7 +21,6 @@ class PyAzureIdentity(PythonPackage):
license("MIT")
version("1.17.1", sha256="32ecc67cc73f4bd0595e4f64b1ca65cd05186f4fe6f98ed2ae9f1aa32646efea")
version("1.15.0", sha256="4c28fc246b7f9265610eb5261d65931183d019a23d4b0e99357facb2e6c227c8")
version("1.14.1", sha256="48e2a9dbdc59b4f095f841d867d9a8cbe4c1cdbbad8251e055561afd47b4a9b8")
version("1.13.0", sha256="c931c27301ffa86b07b4dcf574e29da73e3deba9ab5d1fe4f445bb6a3117e260")
@@ -29,26 +28,20 @@ class PyAzureIdentity(PythonPackage):
version("1.3.1", sha256="5a59c36b4b05bdaec455c390feda71b6495fc828246593404351b9a41c2e877a")
version("1.2.0", sha256="b32acd1cdb6202bfe10d9a0858dc463d8960295da70ae18097eb3b85ab12cb91")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_1.17.1/sdk/identity/azure-identity/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_1.15.0/sdk/identity/azure-identity/setup.py
depends_on("python@3.8:", type=("build", "run"), when="@1.16:")
depends_on("py-setuptools", type="build")
depends_on("py-azure-core@1.23:", type=("build", "run"), when="@1.16:")
depends_on("py-azure-core@1.23:1", type=("build", "run"), when="@1.15")
depends_on("py-azure-core@1.11:1", type=("build", "run"), when="@1.12:1.14")
depends_on("py-azure-core@1", type=("build", "run"), when="@:1.15")
depends_on("py-azure-core@1.23:1", type=("build", "run"), when="@1.15:")
depends_on("py-azure-core@1.11:1", type=("build", "run"), when="@1.12:")
depends_on("py-azure-core@1", type=("build", "run"))
depends_on("py-cryptography@2.5:", type=("build", "run"), when="@1.12:")
depends_on("py-cryptography@2.1.4:", type=("build", "run"))
depends_on("py-msal@1.24:", type=("build", "run"), when="@1.16:")
depends_on("py-msal@1.24:1", type=("build", "run"), when="@1.15")
depends_on("py-msal@1.20:1", type=("build", "run"), when="@1.13:1.14")
depends_on("py-msal@1.12:1", type=("build", "run"), when="@1.12")
depends_on("py-msal@1", type=("build", "run"), when="@:1.15")
depends_on("py-msal-extensions@0.3:", type=("build", "run"), when="@1.16:")
depends_on("py-msal-extensions@0.3:1", type=("build", "run"), when="@1.12:1.15")
depends_on("py-msal@1.24:1", type=("build", "run"), when="@1.15:")
depends_on("py-msal@1.20:1", type=("build", "run"), when="@1.13:")
depends_on("py-msal@1.12:1", type=("build", "run"), when="@1.12:")
depends_on("py-msal@1", type=("build", "run"))
depends_on("py-msal-extensions@0.3:1", type=("build", "run"), when="@1.12:")
depends_on("py-msal-extensions@0.1.3:0.1", type=("build", "run"), when="@:1.11")
depends_on("py-typing-extensions@4:", type=("build", "run"), when="@1.17:")
depends_on("py-six@1.12:", type=("build", "run"), when="@1.12")
depends_on("py-six@1.6:", type=("build", "run"), when="@:1.11")

View File

@@ -16,7 +16,6 @@ class PyAzureStorageBlob(PythonPackage):
license("MIT")
version("12.22.0", sha256="b3804bb4fe8ab1c32771fa464053da772a682c2737b19da438a3f4e5e3b3736e")
version("12.19.0", sha256="26c0a4320a34a3c2a1b74528ba6812ebcb632a04cd67b1c7377232c4b01a5897")
version("12.18.3", sha256="d8ced0deee3367fa3d4f3d1a03cd9edadf4440c0a371f503d623fa6c807554ee")
version("12.17.0", sha256="c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63")
@@ -29,19 +28,16 @@ class PyAzureStorageBlob(PythonPackage):
version("12.10.0", sha256="3c7dc2c93e7ff2a731acd66a36a1f0a6266072b4154deba4894dab891285ea3a")
version("12.9.0", sha256="cff66a115c73c90e496c8c8b3026898a3ce64100840276e9245434e28a864225")
# https://github.com/Azure/azure-sdk-for-python/blob/azure-storage-blob_12.22.0/sdk/storage/azure-storage-blob/setup.py
# https://github.com/Azure/azure-sdk-for-python/blob/azure-storage-blob_12.19.0/sdk/storage/azure-storage-blob/setup.py
depends_on("python@3.8:", type=("build", "run"), when="@12.20:")
depends_on("py-setuptools", type="build")
depends_on("py-azure-core@1.28:", type=("build", "run"), when="@12.20:")
depends_on("py-azure-core@1.28:1", type=("build", "run"), when="@12.17:12.19")
depends_on("py-azure-core@1.26:1", type=("build", "run"), when="@12.15:12.16")
depends_on("py-azure-core@1.24.2:1", type=("build", "run"), when="@12.14")
depends_on("py-azure-core@1.23.1:1", type=("build", "run"), when="@12.12:12.13")
depends_on("py-azure-core@1.15:1", type=("build", "run"), when="@12.10:12.11")
depends_on("py-azure-core@1.10:1", type=("build", "run"), when="@:12.19")
depends_on("py-azure-core@1.28:1", type=("build", "run"), when="@12.17:")
depends_on("py-azure-core@1.26:1", type=("build", "run"), when="@12.15:")
depends_on("py-azure-core@1.24.2:1", type=("build", "run"), when="@12.14:")
depends_on("py-azure-core@1.23.1:1", type=("build", "run"), when="@12.12:")
depends_on("py-azure-core@1.15:1", type=("build", "run"), when="@12.10:")
depends_on("py-azure-core@1.10:1", type=("build", "run"))
depends_on("py-cryptography@2.1.4:", type=("build", "run"))
depends_on("py-typing-extensions@4.6:", type=("build", "run"), when="@12.20:")
depends_on("py-typing-extensions@4.3:", type=("build", "run"), when="@12.17:")
depends_on("py-typing-extensions@4.0.1:", type=("build", "run"), when="@12.15:")
depends_on("py-isodate@0.6.1:", type=("build", "run"), when="@12.15:")

View File

@@ -22,7 +22,6 @@ class PyBlosc2(PythonPackage):
version("2.0.0", sha256="f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("python@3.9:3", when="@2.2:", type=("build", "link", "run"))
depends_on("python@3.8:3", when="@2.0", type=("build", "link", "run"))

View File

@@ -12,7 +12,6 @@ class PyBoto3(PythonPackage):
homepage = "https://github.com/boto/boto3"
pypi = "boto3/boto3-1.10.44.tar.gz"
version("1.34.162", sha256="873f8f5d2f6f85f1018cbb0535b03cceddc7b655b61f66a0a56995238804f41f")
version("1.34.44", sha256="86bcf79a56631609a9f8023fe8f53e2869702bdd4c9047c6d9f091eb39c9b0fa")
version("1.26.26", sha256="a2349d436db6f6aa1e0def5501e4884572eb6f008f35063a359a6fa8ba3539b7")
version("1.25.5", sha256="aec7db139429fe0f3fbe723170461192b0483b0070114a4b56351e374e0f294d")
@@ -38,8 +37,7 @@ class PyBoto3(PythonPackage):
depends_on("python@2.6:", when="@1.9:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-botocore@1.34.162:1.34", when="@1.34.162", type=("build", "run"))
depends_on("py-botocore@1.34.44:1.34", when="@1.34.44", type=("build", "run"))
depends_on("py-botocore@1.34.44:1.34", when="@1.34", type=("build", "run"))
depends_on("py-botocore@1.29.26:1.29", when="@1.26", type=("build", "run"))
depends_on("py-botocore@1.28.5:1.28", when="@1.25", type=("build", "run"))
depends_on("py-botocore@1.27.96:1.27", when="@1.24", type=("build", "run"))

View File

@@ -12,7 +12,6 @@ class PyBotocore(PythonPackage):
homepage = "https://github.com/boto/botocore"
pypi = "botocore/botocore-1.13.44.tar.gz"
version("1.34.162", sha256="adc23be4fb99ad31961236342b7cbf3c0bfc62532cd02852196032e8c0d682f3")
version("1.34.44", sha256="b0f40c54477e8e0a5c43377a927b8959a86bb8824aaef2d28db7c9c367cdefaa")
version("1.31.41", sha256="4dad7c5a5e70940de54ebf8de3955450c1f092f43cacff8103819d1e7d5374fa")
version("1.29.84", sha256="a36f7f6f8eae5dbd4a1cc8cb6fc747f6315500541181eff2093ee0529fc8e4bc")
@@ -49,9 +48,4 @@ class PyBotocore(PythonPackage):
depends_on("py-urllib3@1.25.4:1.25", type=("build", "run"), when="@1.19.0:1.19.15")
depends_on("py-urllib3@1.25.4:1.26", type=("build", "run"), when="@1.19.16:1.31.61")
depends_on("py-urllib3@1.25.4:1.26", type=("build", "run"), when="@1.31.62: ^python@:3.9")
depends_on(
"py-urllib3@1.25.4:2.0", type=("build", "run"), when="@1.31.62:1.34.62 ^python@3.10:"
)
depends_on(
"py-urllib3@1.25.4:2.1,2.2.1:2", type=("build", "run"), when="@1.34.63: ^python@3.10:"
)
depends_on("py-urllib3@1.25.4:2.0", type=("build", "run"), when="@1.31.62: ^python@3.10:")

View File

@@ -12,13 +12,10 @@ class PyEmailValidator(PythonPackage):
homepage = "https://github.com/JoshData/python-email-validator"
pypi = "email_validator/email_validator-1.3.1.tar.gz"
license("Unlicense", when="@2.1.1:", checked_by="wdconinc")
license("CC0-1.0", when="@:2.1.0", checked_by="wdconinc")
license("CC0-1.0")
version("2.2.0", sha256="cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7")
version("1.3.1", sha256="d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2")
depends_on("py-setuptools", type="build")
depends_on("py-dnspython@2:", type=("build", "run"), when="@2:")
depends_on("py-dnspython@1.15:", type=("build", "run"))
depends_on("py-idna@2:", type=("build", "run"))

View File

@@ -10,60 +10,34 @@
class PyFastapi(PythonPackage):
"""FastAPI framework, high performance, easy to learn, fast to code, ready for production"""
homepage = "https://github.com/fastapi/fastapi"
homepage = "https://github.com/tiangolo/fastapi"
pypi = "fastapi/fastapi-0.88.0.tar.gz"
license("MIT")
version("0.115.4", sha256="db653475586b091cb8b2fec2ac54a680ac6a158e07406e1abae31679e8826349")
version("0.110.2", sha256="b53d673652da3b65e8cd787ad214ec0fe303cad00d2b529b86ce7db13f17518d")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2024-24762
version(
"0.98.0", sha256="0d3c18886f652038262b5898fec6b09f4ca92ee23e9d9b1d1d24e429f84bf27b"
)
version(
"0.88.0", sha256="915bf304180a0e7c5605ec81097b7d4cd8826ff87a02bb198e336fb9f3b5ff02"
)
version("0.98.0", sha256="0d3c18886f652038262b5898fec6b09f4ca92ee23e9d9b1d1d24e429f84bf27b")
version("0.88.0", sha256="915bf304180a0e7c5605ec81097b7d4cd8826ff87a02bb198e336fb9f3b5ff02")
variant("all", default=False, description="Build all optional dependencies")
depends_on("python@3.8:", when="@0.104:", type=("build", "run"))
depends_on("py-pdm-backend", when="@0.110.3:", type="build")
depends_on("py-hatchling@1.13:", when="@0.98:0.110.2", type="build")
depends_on("py-hatchling", when="@:0.110.2", type="build")
depends_on("py-starlette@0.40:0.41", when="@0.115.3:", type=("build", "run"))
depends_on("py-starlette@0.37.2:0.40", when="@0.115.2", type=("build", "run"))
depends_on("py-starlette@0.37.2:0.38", when="@0.112.1:0.115.1", type=("build", "run"))
depends_on("py-starlette@0.37.2:0.37", when="@0.110.1:0.112.0", type=("build", "run"))
depends_on("py-starlette@0.36.3:0.36", when="@0.109.2:0.110.0", type=("build", "run"))
depends_on("py-starlette@0.35:0.35", when="@0.109.0:0.109.1", type=("build", "run"))
depends_on("py-starlette@0.29:0.32", when="@0.108.0:0.108", type=("build", "run"))
depends_on("py-starlette@0.28", when="@0.107.0:0.107", type=("build", "run"))
depends_on("py-starlette@0.27", when="@0.95.2:0.106", type=("build", "run"))
depends_on("py-hatchling@1.13:", when="@0.98:", type="build")
depends_on("py-hatchling", type="build")
depends_on("py-starlette@0.27", when="@0.95.2:", type=("build", "run"))
depends_on("py-starlette@0.22.0", when="@:0.89.1", type=("build", "run"))
depends_on("py-pydantic@1.7.4:1,2.1.1:2", when="@0.101:", type=("build", "run"))
depends_on("py-pydantic@1.7.4:1", when="@0.96.1:", type=("build", "run"))
depends_on("py-pydantic@1.6.2:1", when="@:0.96.0", type=("build", "run"))
depends_on("py-typing-extensions@4.8.0:", when="@0.104:", type=("build", "run"))
conflicts("^py-pydantic@1.7.0:1.7.3,1.8.0:1.8.1,2.0,2.1.0")
conflicts("^py-pydantic@1.7.0:1.7.3,1.8.0:1.8.1")
with when("+all"):
depends_on("py-httpx@0.23:", type=("build", "run"))
depends_on("py-jinja2@2.11.2:", type=("build", "run"))
depends_on("py-python-multipart@0.0.7:", when="@0.109.1:", type=("build", "run"))
depends_on("py-python-multipart@0.0.5:", type=("build", "run"))
depends_on("py-itsdangerous@1.1:", type=("build", "run"))
depends_on("py-pyyaml@5.3.1:", type=("build", "run"))
depends_on("py-ujson@4.0.1:", type=("build", "run"))
depends_on("py-orjson@3.2.1:", type=("build", "run"))
depends_on("py-email-validator@2.0.0:", when="@0.100:", type=("build", "run"))
depends_on("py-email-validator@1.1.1:", type=("build", "run"))
depends_on("py-uvicorn@0.12:+standard", type=("build", "run"))
depends_on("py-pydantic-settings@2.0.0:", when="@0.100:", type=("build", "run"))
depends_on("py-pydantic-extra-types@2.0.0:", when="@0.100:", type=("build", "run"))
conflicts("^py-ujson@4.0.2,4.1.0,4.2.0,4.3.0,5.0.0,5.1.0")

View File

@@ -10,37 +10,24 @@ class PyFlask(PythonPackage):
"""A simple framework for building complex web applications."""
homepage = "https://palletsprojects.com/p/flask/"
pypi = "flask/flask-3.0.3.tar.gz"
pypi = "Flask/Flask-1.1.1.tar.gz"
git = "https://github.com/pallets/flask.git"
license("BSD-3-Clause")
version("3.0.3", sha256="ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842")
version("2.3.2", sha256="8c2f9abd47a9e8df7f0c3f091ce9497d011dc3b31effcf4c85a6e2b50f4114ef")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2023-30861
version("2.2.2", sha256="642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b")
version("2.0.2", sha256="7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2")
version("1.1.2", sha256="4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060")
version("1.1.1", sha256="13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52")
version(
"0.12.4", sha256="2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd"
)
version(
"0.12.2", sha256="49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
)
version(
"0.12.1", sha256="9dce4b6bfbb5b062181d3f7da8f727ff70c1156cbb4024351eafd426deb5fb88"
)
version(
"0.11.1", sha256="b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e"
)
version("2.2.2", sha256="642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b")
version("2.0.2", sha256="7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2")
version("1.1.2", sha256="4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060")
version("1.1.1", sha256="13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52")
version("0.12.4", sha256="2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd")
version("0.12.2", sha256="49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1")
version("0.12.1", sha256="9dce4b6bfbb5b062181d3f7da8f727ff70c1156cbb4024351eafd426deb5fb88")
version("0.11.1", sha256="b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e")
depends_on("python@3.8:", when="@2.3:", type=("build", "run"))
depends_on("py-setuptools", type=("build", "run"), when="@:2")
depends_on("py-flit-core@:3", type=("build", "run"), when="@3:")
depends_on("py-setuptools", type=("build", "run"))
depends_on("py-werkzeug@3:", when="@3:", type=("build", "run"))
depends_on("py-werkzeug@2.3.3:", when="@2.3.2:", type=("build", "run"))
depends_on("py-werkzeug@2.2.2:", when="@2.2.2:", type=("build", "run"))
depends_on("py-werkzeug@2:", when="@2:", type=("build", "run"))
@@ -57,11 +44,3 @@ class PyFlask(PythonPackage):
depends_on("py-click@5.1:", type=("build", "run"))
depends_on("py-blinker@1.6.2:", when="@2.3:", type=("build", "run"))
depends_on("py-importlib-metadata@3.6:", when="@2.1: ^python@:3.9", type=("build", "run"))
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/source/f/flask/{}-{}.tar.gz"
if self.spec.satisfies("@:0.18.3"):
name = "Flask"
else:
name = "flask"
return url.format(name, version)

View File

@@ -14,18 +14,7 @@ class PyGradio(PythonPackage):
license("Apache-2.0")
version("5.1.0", sha256="d2153668e6de2df7a01bb33f01a074fc7716ec863c40f472d8e439439ef1e153")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2024-47871
version(
"4.44.1", sha256="a68a52498ac6b63f8864ef84bf7866a70e7d07ebe913edf921e1d2a3708ad5ae"
)
version(
"3.50.2", sha256="c6c81320566ba3e5688a1a58201d0729565a97b828b2bf6895e54f7bf25c01de"
)
version(
"3.36.1", sha256="1d821cee15da066c24c197248ba9aaed5f5e59505d17754561c2f96f90e73a89"
)
version("3.36.1", sha256="1d821cee15da066c24c197248ba9aaed5f5e59505d17754561c2f96f90e73a89")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-hatchling", type="build")

View File

@@ -19,7 +19,6 @@ class PyJoblib(PythonPackage):
license("BSD-3-Clause")
version("1.4.2", sha256="2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e")
version("1.2.0", sha256="e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018")
version("1.1.0", sha256="4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35")
version("1.0.1", sha256="9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7")
@@ -36,10 +35,7 @@ class PyJoblib(PythonPackage):
version("0.10.2", sha256="3123553bdad83b143428033537c9e1939caf4a4d8813dade6a2246948c94494b")
version("0.10.0", sha256="49b3a0ba956eaa2f077e1ebd230b3c8d7b98afc67520207ada20a4d8b8efd071")
with default_args(type=("build", "run")):
# https://github.com/joblib/joblib/pull/1361
depends_on("python@:3.11", when="@:1.2")
with default_args(type="build"):
depends_on("py-setuptools@61.2:", when="@1.4:")
depends_on("py-setuptools")
depends_on("python@3.7:", when="@1.2:", type=("build", "run"))
depends_on("python@3.6:", when="@0.15:", type=("build", "run"))
depends_on("python@2.7:2.8,3.4:", type=("build", "run"))
depends_on("py-setuptools", type=("build", "run"))

View File

@@ -23,7 +23,6 @@ class PyKeras(PythonPackage):
maintainers("adamjstewart")
license("Apache-2.0")
version("3.7.0", sha256="a4451a5591e75dfb414d0b84a3fd2fb9c0240cc87ebe7e397f547ce10b0e67b7")
version("3.6.0", sha256="405727525a3522ed8f9ec0b46e0667e4c65fcf714a067322c16a00d902ded41d")
version("3.5.0", sha256="53ae4f9472ec9d9c6941c82a3fda86969724ace3b7630a94ba0a1f17ba1065c3")
version("3.4.1", sha256="34cd9aeaa008914715149234c215657ca758e1b473bd2aab2e211ac967d1f8fe")
@@ -75,12 +74,10 @@ class PyKeras(PythonPackage):
)
with default_args(type="build"):
# pyproject.toml
depends_on("py-setuptools@61:", when="@3.7:")
depends_on("py-setuptools")
with default_args(type=("build", "run")):
# pyproject.toml
# setup.py
depends_on("python@3.9:", when="@3:")
depends_on("python@3.8:", when="@2.12:")
depends_on("py-absl-py", when="@2.6:")
@@ -101,8 +98,7 @@ class PyKeras(PythonPackage):
# requirements-tensorflow-cuda.txt
with when("backend=tensorflow"):
depends_on("py-tensorflow@2.18", when="@3.7:")
depends_on("py-tensorflow@2.17", when="@3.5:3.6")
depends_on("py-tensorflow@2.17", when="@3.5:")
depends_on("py-tensorflow@2.16.1:2.16", when="@3.0:3.4")
# requirements-jax-cuda.txt
@@ -113,15 +109,13 @@ class PyKeras(PythonPackage):
# requirements-torch-cuda.txt
with when("backend=torch"):
depends_on("py-torch@2.5.1", when="@3.7:")
depends_on("py-torch@2.4.1", when="@3.6")
depends_on("py-torch@2.4.1", when="@3.6:")
depends_on("py-torch@2.4.0", when="@3.5")
depends_on("py-torch@2.2.1", when="@3.1:3.4")
depends_on("py-torch@2.1.2", when="@3.0.3:3.0.5")
depends_on("py-torch@2.1.1", when="@3.0.1:3.0.2")
depends_on("py-torch@2.1.0", when="@3.0.0")
depends_on("py-torchvision@0.20.1", when="@3.7:")
depends_on("py-torchvision@0.19.1", when="@3.6")
depends_on("py-torchvision@0.19.1", when="@3.6:")
depends_on("py-torchvision@0.19.0", when="@3.5")
depends_on("py-torchvision@0.17.1", when="@3.1:3.4")
depends_on("py-torchvision@0.16.2", when="@3.0.3:3.0.5")

View File

@@ -9,15 +9,15 @@
class PyNetifaces(PythonPackage):
"""Portable network interface information"""
homepage = "https://github.com/al45tair/netifaces"
homepage = (
"https://0xbharath.github.io/python-network-programming/libraries/netifaces/index.html"
)
pypi = "netifaces/netifaces-0.10.5.tar.gz"
license("MIT", checked_by="wdconinc")
license("Unlicense")
version("0.11.0", sha256="043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32")
version("0.10.9", sha256="2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3")
version("0.10.5", sha256="59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b")
depends_on("c", type="build")
depends_on("c", type="build") # generated
depends_on("py-setuptools", type="build")

View File

@@ -73,7 +73,6 @@ class PyPandas(PythonPackage):
variant("excel", when="@1.4:", default=False, description="Build with support for Excel")
depends_on("c", type="build")
depends_on("cxx", type="build")
with default_args(type="build"):
depends_on("py-meson-python@0.13.1:", when="@2.1:")

View File

@@ -13,7 +13,6 @@ class PyPdmBackend(PythonPackage):
license("MIT", checked_by="matz-e")
version("2.4.3", sha256="dbd9047a7ac10d11a5227e97163b617ad5d665050476ff63867d971758200728")
version("2.3.0", sha256="e39ed2da206d90d4a6e9eb62f6dce54ed4fa65ddf172a7d5700960d0f8a09e09")
depends_on("python@3.8:", type=("build", "run"))

View File

@@ -1,23 +0,0 @@
# Copyright 2013-2024 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)
from spack.package import *
class PyPydanticExtraTypes(PythonPackage):
"""A place for pydantic types that probably shouldn't
exist in the main pydantic lib."""
homepage = "https://github.com/pydantic/pydantic-extra-types"
pypi = "pydantic_extra_types/pydantic_extra_types-2.10.0.tar.gz"
license("MIT", checked_by="wdconinc")
version("2.10.0", sha256="552c47dd18fe1d00cfed75d9981162a2f3203cf7e77e55a3d3e70936f59587b9")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-hatchling", type="build")
depends_on("py-pydantic@2.5.2:", type=("build", "run"))
depends_on("py-typing-extensions", type=("build", "run"))

View File

@@ -1,22 +0,0 @@
# Copyright 2013-2024 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)
from spack.package import *
class PyPydanticSettings(PythonPackage):
"""Settings management using Pydantic."""
homepage = "https://github.com/pydantic/pydantic-settings"
pypi = "pydantic_settings/pydantic_settings-2.6.1.tar.gz"
license("MIT", checked_by="wdconinc")
version("2.6.1", sha256="e0f92546d8a9923cb8941689abf85d6601a8c19a23e97a34b2964a2e3f813ca0")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-hatchling", type="build")
depends_on("py-pydantic@2.7.0:", type=("build", "run"))
depends_on("py-python-dotenv@0.21:", type=("build", "run"))

View File

@@ -15,18 +15,8 @@ class PyPythonMultipart(PythonPackage):
license("Apache-2.0")
version("0.0.17", sha256="41330d831cae6e2f22902704ead2826ea038d0419530eadff3ea80175aec5538")
version("0.0.5", sha256="f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43")
depends_on("py-setuptools", type="build", when="@:0.0.5")
depends_on("py-hatchling", type="build", when="@0.0.6:")
depends_on("py-setuptools", type="build")
depends_on("py-six@1.4.0:", type=("build", "run"))
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/source/p/python-multipart/{}-{}.tar.gz"
if self.spec.satisfies("@:0.0.5"):
name = "python-multipart"
else:
name = "python_multipart"
return url.format(name, version)

View File

@@ -33,8 +33,7 @@ class PyPyvista(PythonPackage):
depends_on("pil", type=("build", "run"))
depends_on("py-pooch", when="@0.37:", type=("build", "run"))
depends_on("py-scooby@0.5.1:", type=("build", "run"))
# https://github.com/pyvista/pyvista/issues/6857
depends_on("vtk@:9.3+python", type=("build", "run"))
depends_on("vtk+python", type=("build", "run"))
depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run"))
# Historical dependencies

View File

@@ -24,10 +24,6 @@ class PyPyzmq(PythonPackage):
license("BSD-3-Clause")
version("26.2.0", sha256="070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f")
version("26.1.1", sha256="a7db05d8b7cd1a8c6610e9e9aa55d525baae7a44a43e18bc3260eb3f92de96c6")
version("26.0.3", sha256="dba7d9f2e047dfa2bca3b01f4f84aa5246725203d6284e3790f2ca15fba6b40a")
version("25.1.2", sha256="93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226")
version("25.0.2", sha256="6b8c1bbb70e868dc88801aa532cae6bd4e3b5233784692b786f17ad2962e5149")
version("24.0.1", sha256="216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77")
version("22.3.0", sha256="8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c")
@@ -43,17 +39,13 @@ class PyPyzmq(PythonPackage):
depends_on("python@2.6:2.7,3.2:3.8", type=("build", "run"), when="@:14")
# pyproject.toml
with when("@26:"):
depends_on("py-scikit-build-core +pyproject", type="build")
with when("@:25"):
depends_on("py-setuptools", type="build")
# https://github.com/zeromq/pyzmq/issues/1278
# https://github.com/zeromq/pyzmq/pull/1317
depends_on("py-setuptools@:59", when="@17:18.0", type="build")
depends_on("py-setuptools", type="build")
# https://github.com/zeromq/pyzmq/issues/1278
# https://github.com/zeromq/pyzmq/pull/1317
depends_on("py-setuptools@:59", when="@17:18.0", type="build")
depends_on("py-packaging", type="build")
depends_on("py-cython@3:", type="build", when="@26:")
depends_on("py-cython@0.29.35:", type="build", when="@25.1.1: ^python@3.12:")
# setup.py
depends_on("py-cython@0.29:", type="build", when="@22.3.0:")
depends_on("py-cython@0.20:", type="build", when="@18:")
depends_on("py-cython@0.16:", type="build")
@@ -74,7 +66,7 @@ def remove_cythonized_files(self):
for f in find(".", "*.pyx"):
touch(f)
@run_before("install", when="@:25")
@run_before("install")
def setup(self):
"""Create config file listing dependency information."""

View File

@@ -11,40 +11,21 @@ class PyQuart(PythonPackage):
Flask."""
homepage = "https://gitlab.com/pgjones/quart/"
pypi = "quart/quart-0.16.3.tar.gz"
pypi = "Quart/Quart-0.16.3.tar.gz"
license("MIT")
version("0.19.8", sha256="ef567d0be7677c99890d5c6ff30e679699fe7e5fca1a90fa3b6974edd8421794")
version("0.16.3", sha256="16521d8cf062461b158433d820fff509f98fb997ae6c28740eda061d9cba7d5e")
depends_on("python@3.8:", type=("build", "run"), when="@0.19:")
depends_on("python@3.7:", type=("build", "run"))
depends_on("py-poetry-core@1:", type="build")
depends_on("py-aiofiles", type=("build", "run"))
depends_on("py-blinker@1.6:", type=("build", "run"), when="@0.19:")
depends_on("py-blinker", type=("build", "run"))
depends_on("py-click@8.0.0:", type=("build", "run"), when="@0.18.1:")
depends_on("py-click", type=("build", "run"))
depends_on("py-flask@3.0.0:", type=("build", "run"), when="@0.19:")
depends_on("py-hypercorn@0.11.2:", type=("build", "run"))
depends_on("py-itsdangerous", type=("build", "run"))
depends_on("py-jinja2", type=("build", "run"))
depends_on("py-markupsafe", type=("build", "run"), when="@0.17:")
depends_on("py-werkzeug@3:", type=("build", "run"), when="@0.19:")
depends_on("py-toml", type=("build", "run"))
depends_on("py-werkzeug@2:", type=("build", "run"))
depends_on("py-importlib-metadata", type=("build", "run"), when="@0.18: ^python@:3.9")
depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7")
depends_on("py-typing-extensions", type=("build", "run"), when="@0.19: ^python@:3.9")
depends_on("py-typing-extensions", type=("build", "run"), when="^python@:3.7")
# Historical dependencies
depends_on("py-toml", type=("build", "run"), when="@:0.17")
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/source/q/quart/{}-{}.tar.gz"
if self.spec.satisfies("@:0.18.3"):
name = "Quart"
else:
name = "quart"
return url.format(name, version)

View File

@@ -30,6 +30,3 @@ class PyRiver(PythonPackage):
depends_on("py-numpy@1.22:", type=("build", "run"))
depends_on("py-scipy@1.5:", type=("build", "run"))
depends_on("py-pandas@1.3:", type=("build", "run"))
# https://github.com/online-ml/river/pull/1632
depends_on("py-numpy@:1", when="@:0.21", type=("build", "run"))

View File

@@ -14,10 +14,6 @@ class PyScooby(PythonPackage):
license("MIT")
version("0.10.0", sha256="7ea33c262c0cc6a33c6eeeb5648df787be4f22660e53c114e5fff1b811a8854f")
version("0.5.7", sha256="ae2c2b6f5f5d10adf7aaab32409028f1e28d3ce833664bdd1e8c2072e8da169a")
# https://github.com/banesullivan/scooby/pull/83
depends_on("python@:3.11", when="@:0.5", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-setuptools-scm", when="@0.10:", type="build")

View File

@@ -15,12 +15,6 @@ class PyStarlette(PythonPackage):
license("BSD-3-Clause")
version("0.41.2", sha256="9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62")
version("0.37.2", sha256="9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823")
version("0.36.3", sha256="90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080")
version("0.35.1", sha256="3e2639dac3520e4f58734ed22553f950d3f3cb1001cd2eaac4d57e8cdc5f66bc")
version("0.32.0", sha256="87c899fe3aee6a42f711380b03e1d244a21079529cb3dbe1a5109e60915e0bbb")
version("0.28.0", sha256="7bf3da5e997e796cc202cef2bd3f96a7d9b1e1943203c2fe2b42e020bc658482")
version("0.27.0", sha256="6a6b0d042acb8d469a01eba54e9cda6cbd24ac602c4cd016723117d6a7e73b75")
version("0.23.1", sha256="8510e5b3d670326326c5c1d4cb657cc66832193fe5d5b7015a51c7b1e1b1bf42")
version("0.22.0", sha256="b092cbc365bea34dd6840b42861bdabb2f507f8671e642e8272d2442e08ea4ff")

View File

@@ -18,8 +18,7 @@ class PyTorchCluster(PythonPackage):
version("1.6.3", sha256="78d5a930a5bbd0d8788df8c6d66addd68d6dd292fe3edb401e3dacba26308152")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools", type="build")

View File

@@ -18,8 +18,7 @@ class PyTorchScatter(PythonPackage):
version("2.1.2", sha256="69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools", type="build")

View File

@@ -18,8 +18,7 @@ class PyTorchSplineConv(PythonPackage):
version("1.2.2", sha256="ed45a81da29f774665dbdd4709d7e534cdf16d2e7006dbd06957f35bd09661b2")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools", type="build")

View File

@@ -15,50 +15,24 @@ class PyWerkzeug(PythonPackage):
license("BSD-3-Clause", checked_by="wdconinc")
version("3.1.3", sha256="60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746")
version("3.0.4", sha256="34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306")
version("3.0.0", sha256="3ffff4dcc32db52ef3cc94dff3000a3c2846890f3a5a51800a27b909c5e770f0")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2023-46136
version("2.3.7", sha256="2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8")
version("2.3.4", sha256="1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76")
version("2.2.2", sha256="7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f")
version("2.0.2", sha256="aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a")
version(
"0.16.0", sha256="7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7"
)
version(
"0.15.6", sha256="0a24d43be6a7dce81bae05292356176d6c46d63e42a0dd3f9504b210a9cfaa43"
)
version(
"0.15.5", sha256="a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6"
)
version(
"0.15.4", sha256="a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6"
)
version(
"0.15.3", sha256="cfd1281b1748288e59762c0e174d64d8bcb2b70e7c57bc4a1203c8825af24ac3"
)
version(
"0.15.2", sha256="0a73e8bb2ff2feecfc5d56e6f458f5b99290ef34f565ffb2665801ff7de6af7a"
)
version(
"0.15.1", sha256="ca5c2dcd367d6c0df87185b9082929d255358f5391923269335782b213d52655"
)
version(
"0.15.0", sha256="590abe38f8be026d78457fe3b5200895b3543e58ac3fc1dd792c6333ea11af64"
)
version(
"0.12.2", sha256="903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
)
version(
"0.11.15", sha256="455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0"
)
version(
"0.11.11", sha256="e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5"
)
version("2.3.7", sha256="2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8")
version("2.3.4", sha256="1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76")
version("2.2.2", sha256="7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f")
version("2.0.2", sha256="aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a")
version("0.16.0", sha256="7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7")
version("0.15.6", sha256="0a24d43be6a7dce81bae05292356176d6c46d63e42a0dd3f9504b210a9cfaa43")
version("0.15.5", sha256="a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6")
version("0.15.4", sha256="a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6")
version("0.15.3", sha256="cfd1281b1748288e59762c0e174d64d8bcb2b70e7c57bc4a1203c8825af24ac3")
version("0.15.2", sha256="0a73e8bb2ff2feecfc5d56e6f458f5b99290ef34f565ffb2665801ff7de6af7a")
version("0.15.1", sha256="ca5c2dcd367d6c0df87185b9082929d255358f5391923269335782b213d52655")
version("0.15.0", sha256="590abe38f8be026d78457fe3b5200895b3543e58ac3fc1dd792c6333ea11af64")
version("0.12.2", sha256="903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26")
version("0.11.15", sha256="455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0")
version("0.11.11", sha256="e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5")
depends_on("python@3.9:", when="@3.1:", type=("build", "run"))
depends_on("python@3.8:", when="@2.3:", type=("build", "run"))
depends_on("python@:3.9", when="@:0.12", type=("build", "run"))
depends_on("py-flit-core@:3", when="@2.3.7:", type="build")

View File

@@ -21,8 +21,7 @@ class Pygmo(CMakePackage):
version("master", branch="master")
version("2.18.0", sha256="9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
variant("shared", default=True, description="Build shared libraries")

View File

@@ -58,8 +58,3 @@ class RRsamtools(RPackage):
# this is not a listed dependency but is needed
depends_on("curl")
depends_on("zlib-api")
def patch(self):
with working_dir("src"):
filter_file(r"(^PKG_LIBS=)(\$\(RHTSLIB_LIBS\))", "\\1\\2 -lz", "Makevars")

View File

@@ -17,7 +17,6 @@ class Raylib(CMakePackage):
license("Zlib", checked_by="georgemalerbo")
version("5.5", sha256="aea98ecf5bc5c5e0b789a76de0083a21a70457050ea4cc2aec7566935f5e258e")
version("5.0", sha256="98f049b9ea2a9c40a14e4e543eeea1a7ec3090ebdcd329c4ca2cf98bc9793482")
depends_on("c", type="build") # generated

View File

@@ -40,8 +40,7 @@ class Rocfft(CMakePackage):
version("5.3.3", sha256="678c18710578c1fb36a0009311bb79de7607c3468f9102cfba56a866ebb7ff78")
version("5.3.0", sha256="d655c5541c4aff4267e80e36d002fc3a55c2f84a0ae8631197c12af3bf03fa7d")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
amdgpu_targets = ROCmPackage.amdgpu_targets

View File

@@ -19,7 +19,6 @@ class RocmTensile(CMakePackage):
license("MIT")
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("6.2.1", sha256="29802dc65a7cea29f0e2608782c75db87e9c71eea8aeb485e856cf2861d83098")
version("6.2.0", sha256="6f7d679bfffd1f723f2788b00fdcb1b4673b597f9f85c2cdaab3c2aa17afb33d")
version("6.1.2", sha256="6a08190f6d9c8cc76764a68e2dd3e7af4759d4146ddc1c4b3370c7762a6f6d83")
version("6.1.1", sha256="04fd76e6a0e9b7528e61df0721b03c0e977c145a2a1ea331d515c9167d7ac35f")
@@ -81,7 +80,6 @@ class RocmTensile(CMakePackage):
"6.1.1",
"6.1.2",
"6.2.0",
"6.2.1",
]:
depends_on(f"rocm-cmake@{ver}", type="build", when=f"@{ver}")
depends_on(f"hip@{ver}", when=f"@{ver}")

View File

@@ -26,7 +26,6 @@ class RocprofilerRegister(CMakePackage):
version("6.1.1", sha256="38242443d9147a04d61374de4cecee686578a3140fed17e88480f564a1f67cc7")
version("6.1.0", sha256="c6e60447ea2ccca8d6acd8758ac00037347892b16b450e1f99ddd04cc4b6cac1")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fmt")
depends_on("glog")

View File

@@ -41,8 +41,7 @@ class RoctracerDev(CMakePackage, ROCmPackage):
version("5.3.3", sha256="f2cb1e6bb69ea1a628c04f984741f781ae1d8498dc58e15795bb03015f924d13")
version("5.3.0", sha256="36f1da60863a113bb9fe2957949c661f00a702e249bb0523cda1fb755c053808")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
variant("asan", default=False, description="Build with address-sanitizer enabled or disabled")

View File

@@ -12,8 +12,6 @@
from spack.package import *
from spack.util.environment import is_system_path
_is_macos = sys.platform == "darwin"
class Root(CMakePackage):
"""ROOT is a data analysis framework."""
@@ -158,7 +156,7 @@ class Root(CMakePackage):
when="@6.32.0:6.32.02",
)
if _is_macos:
if sys.platform == "darwin":
# Resolve non-standard use of uint, _cf_
# https://sft.its.cern.ch/jira/browse/ROOT-7886.
patch("math_uint.patch", when="@6.06.02")
@@ -188,7 +186,7 @@ class Root(CMakePackage):
# See README.md for specific notes about what ROOT configuration
# options are or are not supported, and why.
variant("aqua", default=_is_macos, description="Enable native macOS (Cocoa) interface")
variant("aqua", default=False, description="Enable Aqua interface")
variant("arrow", default=False, description="Enable Arrow interface")
variant("cuda", when="@6.08.00:", default=False, description="Enable CUDA support")
variant("cudnn", when="@6.20.02:", default=False, description="Enable cuDNN support")
@@ -290,7 +288,7 @@ class Root(CMakePackage):
variant(
"webgui", default=True, description="Enable web-based UI components of ROOT", when="+root7"
)
variant("x", default=(not _is_macos), description="Enable set of graphical options")
variant("x", default=True, description="Enable set of graphical options")
variant("xml", default=True, description="Enable XML parser interface")
variant("xrootd", default=False, description="Build xrootd file server and its client")
@@ -431,7 +429,7 @@ class Root(CMakePackage):
conflicts("target=ppc64le:", when="@:6.24")
# Incompatible variants
if _is_macos:
if sys.platform == "darwin":
conflicts("+opengl", when="~x ~aqua", msg="root+opengl requires X or Aqua")
# https://github.com/root-project/root/issues/7160
conflicts("+aqua", when="~opengl", msg="+aqua requires OpenGL to be enabled")
@@ -457,15 +455,15 @@ class Root(CMakePackage):
conflicts("%clang@16:", when="@:6.26.07", msg="clang 16+ support was added in root 6.26.08")
# See https://github.com/spack/spack/pull/44826
if _is_macos and macos_version() == Version("12"):
if sys.platform == "darwin" and macos_version() == Version("12"):
conflicts("@:6.27", when="+python", msg="macOS 12 python support for 6.28: only")
# See https://github.com/root-project/root/issues/11714
if _is_macos and macos_version() >= Version("13"):
if sys.platform == "darwin" and macos_version() >= Version("13"):
conflicts("@:6.26.09", msg="macOS 13 support was added in root 6.26.10")
# See https://github.com/root-project/root/issues/16219
if _is_macos and macos_version() >= Version("15"):
if sys.platform == "darwin" and macos_version() >= Version("15"):
conflicts("@:6.32.05", msg="macOS 15 support was added in root 6.32.06")
# ROOT <6.14 is incompatible with Python >=3.7, which is the minimum supported by spack
@@ -629,6 +627,8 @@ def cmake_args(self):
# Options related to ROOT's ability to download and build its own
# dependencies. Per Spack convention, this should generally be avoided.
afterimage_enabled = ("+x" in self.spec) if "platform=darwin" not in self.spec else True
options += [
define("builtin_cfitsio", False),
define("builtin_davix", False),
@@ -655,12 +655,7 @@ def cmake_args(self):
]
if self.spec.satisfies("@:6.32"):
options.append(
define(
"builtin_afterimage",
("+x" in self.spec) if "platform=darwin" not in self.spec else True,
)
)
options.append(define("builtin_afterimage", afterimage_enabled))
# Features
options += [
@@ -769,7 +764,7 @@ def cmake_args(self):
# #################### Compiler options ####################
if _is_macos and self.compiler.cc == "gcc":
if sys.platform == "darwin" and self.compiler.cc == "gcc":
cflags = "-D__builtin_unreachable=__builtin_trap"
options.extend([define("CMAKE_C_FLAGS", cflags), define("CMAKE_CXX_FLAGS", cflags)])

View File

@@ -12,7 +12,7 @@ class Rsync(AutotoolsPackage):
"""An open source utility that provides fast incremental file transfer."""
homepage = "https://rsync.samba.org"
url = "https://download.samba.org/pub/rsync/src/rsync-3.3.0.tar.gz"
url = "https://download.samba.org/pub/rsync/src/rsync-3.2.4.tar.gz"
license("GPL-3.0-or-later")
@@ -20,42 +20,16 @@ class Rsync(AutotoolsPackage):
version("3.2.7", sha256="4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb")
version("3.2.6", sha256="fb3365bab27837d41feaf42e967c57bd3a47bc8f10765a3671efd6a3835454d3")
version("3.2.5", sha256="2ac4d21635cdf791867bc377c35ca6dda7f50d919a58be45057fd51600c69aba")
version("3.2.4", sha256="6f761838d08052b0b6579cf7f6737d93e47f01f4da04c5d24d3447b7f2a5fad1")
version("3.2.3", sha256="becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e")
version("3.2.2", sha256="644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8")
version("3.1.3", sha256="55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0")
version("3.1.2", sha256="ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2")
version("3.1.1", sha256="7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621")
# Releases before 3.2.5 are deprecated because of CVE-2022-29154
# https://nvd.nist.gov/vuln/detail/CVE-2022-29154
version(
"3.2.4",
sha256="6f761838d08052b0b6579cf7f6737d93e47f01f4da04c5d24d3447b7f2a5fad1",
deprecated=True,
)
version(
"3.2.3",
sha256="becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e",
deprecated=True,
)
version(
"3.2.2",
sha256="644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8",
deprecated=True,
)
version(
"3.1.3",
sha256="55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0",
deprecated=True,
)
version(
"3.1.2",
sha256="ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2",
deprecated=True,
)
version(
"3.1.1",
sha256="7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621",
deprecated=True,
)
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("zlib-api")
depends_on("popt")
depends_on("openssl", when="@3.2:")

View File

@@ -304,9 +304,6 @@ class Seacas(CMakePackage):
when="@:2023-10-24",
)
# Based on install-tpl.sh script, cereal seems to only be used when faodel enabled
depends_on("cereal", when="@2021-04-02: +faodel")
def setup_run_environment(self, env):
env.prepend_path("PYTHONPATH", self.prefix.lib)
@@ -489,15 +486,6 @@ def cmake_args(self):
if pkg.lower() in spec:
options.append(define(pkg + "_ROOT", spec[pkg.lower()].prefix))
if "+faodel" in spec:
# faodel headers are under $faodel_prefix/include/faodel but seacas
# leaves off the faodel part
faodel_incdir = spec["faodel"].prefix.include
faodel_incdir2 = spec["faodel"].prefix.include.faodel
faodel_incdirs = [faodel_incdir, faodel_incdir2]
options.append(define("Faodel_INCLUDE_DIRS", ";".join(faodel_incdirs)))
options.append(define("Faodel_LIBRARY_DIRS", spec["faodel"].prefix.lib))
options.append(from_variant("TPL_ENABLE_ADIOS2", "adios2"))
if "+adios2" in spec:
options.append(define("ADIOS2_ROOT", spec["adios2"].prefix))

View File

@@ -190,6 +190,9 @@ def edit(self, spec, prefix):
spec["netcdf-fortran"].prefix
)
)
libs_arg.append(
"-L{0}/lib -lhdf5_fortran -lhdf5".format(spec["hdf5"].prefix)
)
if "+metis" in spec:
libs_arg.append("-L{0} -lmetis".format(self.spec["metis"].prefix.lib))

View File

@@ -22,8 +22,7 @@ class Voropp(CMakePackage):
version("master", branch="master")
version("0.4.6", sha256="ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("cxx", type="build") # generated
patch("voro++-0.4.6-cmake.patch", when="@0.4.6")

View File

@@ -243,7 +243,6 @@ class Warpx(CMakePackage, PythonExtension):
variant("shared", default=True, description="Build a shared version of the library")
variant("tprof", default=True, description="Enable tiny profiling features")
depends_on("c", type="build")
depends_on("cxx", type="build")
for v in ["24.10", "24.08", "develop"]: