Compare commits

..

9 Commits

Author SHA1 Message Date
Gregory Becker
d6ce6d30b8 msvc: remove conjoined msvc/ifx detection
Signed-off-by: Gregory Becker <becker33@llnl.gov>
2025-03-27 13:37:25 -07:00
Dave Keeshan
f0acbe4310 yosys: add v0.51 (#49639)
* add: yosys v0.51

* Move license to within 6 lines of start, but truncated description to do that

* Moving license back, and reinstating description
2025-03-27 12:28:44 -06:00
Adam J. Stewart
f0c676d14a py-contrib: add new package (#49634) 2025-03-27 19:07:33 +01:00
Howard Pritchard
13dd198a09 Open MPI: add 5.0.7 (#49661)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2025-03-27 10:33:56 -07:00
Teague Sterling
3f6c66d701 libwnck: add v43.2 (#49655)
* libwnck: new package

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

add gettext and xres (testing)

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* [@spackbot] updating style on behalf of teaguesterling

* Update package.py

* [@spackbot] updating style on behalf of teaguesterling

* Adding Cairo variant

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

* libwnck: add v43.2

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>

---------

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
2025-03-27 10:32:32 -07:00
gregorweiss
dcd6e61f34 bigwhoop: new package (#49677)
* add package for BigWhoop lossy data compression

Co-authored-by: Patrick Vogler <patrick.vogler@hlrs.de>

* add version 0.2.0

* update url

* corrected checksum

---------

Co-authored-by: Patrick Vogler <patrick.vogler@hlrs.de>
2025-03-27 10:30:20 -07:00
Richard Berger
ac7b467897 libfabric: add v2.0.0, v2.1.0, and lnx fabric (#49549) 2025-03-27 10:22:15 -07:00
Harmen Stoppels
c5adb934c2 rocminfo: extends python (#49532) 2025-03-27 18:05:56 +01:00
eugeneswalker
1e70a8d6ad amr-wind+rocm depends_on rocrand and rocprim (#49703)
* amr-wind+rocm depends_on rocrand

* amr-wind +rocm: depend_on rocprim
2025-03-27 09:30:29 -07:00
10 changed files with 94 additions and 43 deletions

View File

@@ -257,6 +257,9 @@ class AmrWind(CMakePackage, CudaPackage, ROCmPackage):
depends_on("fftw", when="@2.1: +waves2amr")
depends_on("fftw", when="@3.3.1: +fft")
depends_on("rocrand", when="+rocm")
depends_on("rocprim", when="+rocm")
for arch in CudaPackage.cuda_arch_values:
depends_on("hypre+cuda cuda_arch=%s" % arch, when="+cuda+hypre cuda_arch=%s" % arch)
for arch in ROCmPackage.amdgpu_targets:

View File

@@ -0,0 +1,53 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Bigwhoop(CMakePackage):
"""BigWhoop is a lossy compression algorithm for numerical
datasets from HPC engineering applications.
"""
homepage = "https://github.com/ptvogler/BigWhoop"
url = "https://github.com/ptvogler/BigWhoop/archive/refs/tags/v0.2.0.tar.gz"
git = "https://github.com/ptvogler/BigWhoop.git"
maintainers("ptvogler", "gregorweiss")
license("BSD-2-Clause", checked_by="ptvogler")
version("main", branch="main")
version("0.2.0", sha256="48e6aeaf9c6d39c18c030397e0cb46c43491cbf64400dda1efb4293696716692")
depends_on("c", type="build")
depends_on("fortran", type="build")
depends_on("cmake@3.5.1:", type="build")
depends_on("python", type="build")
# Build targets
variant("shared", default=True, description="Build shared libraries")
variant("utilities", default=False, description="Build bigwhoop utilities")
# Execution policies
variant("openmp", default=True, description="Enable OpenMP execution")
# Advanced settings
variant("profiling", default=False, description="Enable profiling")
variant("precision", default="Double", description="Enable double precision")
# CMake options
def cmake_args(self):
spec = self.spec
args = [
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
self.define_from_variant("BUILD_UTILITIES", "utilities"),
self.define_from_variant("BIGWHOOP_WITH_OPENMP", "openmp"),
self.define_from_variant("BIGWHOOP_WITH_PROFILING", "profiling"),
self.define("BIGWHOOP_PRECISION", spec.variants["precision"].value),
]
return args

View File

@@ -22,6 +22,8 @@ class Libfabric(AutotoolsPackage, CudaPackage):
license("GPL-2.0-or-later")
version("main", branch="main")
version("2.1.0", sha256="97df312779e2d937246d2f46385b700e0958ed796d6fed7aae77e2d18923e19f")
version("2.0.0", sha256="1a8e40f1f331d6ee2e9ace518c0088a78c8a838968f8601c2b77fd012a7bf0f5")
version("1.22.0", sha256="485e6cafa66c9e4f6aa688d2c9526e274c47fda3a783cf1dd8f7c69a07e2d5fe")
version("1.21.1", sha256="54befa6697352f3179c79c4a79225ae71694f29eefad5d0d5a14b5444ff986dd")
version("1.21.0", sha256="0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7")
@@ -70,6 +72,7 @@ class Libfabric(AutotoolsPackage, CudaPackage):
"cxi",
"efa",
"gni",
"lnx",
"mlx",
"mrail",
"opx",
@@ -138,6 +141,7 @@ class Libfabric(AutotoolsPackage, CudaPackage):
conflicts("@1.9.0", when="platform=darwin", msg="This distribution is missing critical files")
conflicts("fabrics=opx", when="@:1.14.99")
conflicts("fabrics=lnx", when="@:1")
conflicts(
"fabrics=opx",
when="@1.20.0",

View File

@@ -20,6 +20,7 @@ def url_for_version(self, version):
license("GPLv2", checked_by="teaguesterling")
version("43.2", sha256="55a7444ec1fbb95c086d40967388f231b5c0bbc8cffaa086bf9290ae449e51d5")
version("43.0", sha256="905bcdb85847d6b8f8861e56b30cd6dc61eae67ecef4cd994a9f925a26a2c1fe")
version("40.1", sha256="03134fa114ef3fbe34075aa83678f58aa2debe9fcef4ea23c0779e28601d6611")
version("3.36.0", sha256="bc508150b3ed5d22354b0e6774ad4eee465381ebc0ace45eb0e2d3a4186c925f")

View File

@@ -65,6 +65,7 @@ class Mercury(CMakePackage):
with when("+ofi"):
depends_on("libfabric@1.5:", when="@:2.0.1")
depends_on("libfabric@1.7:", when="@2.1.0:")
conflicts("libfabric@2:", when="@:2.4.0")
# openpa dependency is removed in 2.1.0
depends_on("openpa@1.0.3:", when="@:2.0.1%gcc@:4.8")
# We only need Boost preprocessor headers

View File

@@ -12,17 +12,6 @@
import spack.version
from spack.package import *
FC_PATH: Dict[str, str] = dict()
def get_latest_valid_fortran_pth():
"""Assign maximum available fortran compiler version"""
# TODO (johnwparent): validate compatibility w/ try compiler
# functionality when added
sort_fn = lambda fc_ver: Version(fc_ver)
sort_fc_ver = sorted(list(FC_PATH.keys()), key=sort_fn)
return FC_PATH[sort_fc_ver[-1]] if sort_fc_ver else None
class Msvc(Package, CompilerPackage):
"""
@@ -37,10 +26,9 @@ def install(self, spec, prefix):
"detected on a system where they are externally installed"
)
compiler_languages = ["c", "cxx", "fortran"]
compiler_languages = ["c", "cxx"]
c_names = ["cl"]
cxx_names = ["cl"]
fortran_names = ["ifx", "ifort"]
compiler_version_argument = ""
compiler_version_regex = r"([1-9][0-9]*\.[0-9]*\.[0-9]*)"
@@ -50,7 +38,7 @@ def install(self, spec, prefix):
# based on proper versions of MSVC from there
# pending acceptance of #28117 for full support using
# compiler wrappers
compiler_wrapper_link_paths = {"c": "", "cxx": "", "fortran": ""}
compiler_wrapper_link_paths = {"c": "", "cxx": ""}
provides("c", "cxx")
requires("platform=windows", msg="MSVC is only supported on Windows")
@@ -59,7 +47,6 @@ def install(self, spec, prefix):
def determine_version(cls, exe):
# MSVC compiler does not have a proper version argument
# Errors out and prints version info with no args
is_ifx = "ifx.exe" in str(exe)
match = re.search(
cls.compiler_version_regex,
spack.build_systems.compiler.compiler_output(
@@ -67,8 +54,6 @@ def determine_version(cls, exe):
),
)
if match:
if is_ifx:
FC_PATH[match.group(1)] = str(exe)
return match.group(1)
@classmethod
@@ -76,18 +61,6 @@ def determine_variants(cls, exes, version_str):
# MSVC uses same executable for both languages
spec, extras = super().determine_variants(exes, version_str)
extras["compilers"]["c"] = extras["compilers"]["cxx"]
# This depends on oneapi being processed before msvc
# which is guarunteed from detection behavior.
# Processing oneAPI tracks oneAPI installations within
# this module, which are then used to populate compatible
# MSVC version's fortran compiler spots
# TODO: remove this once #45189 lands
# TODO: interrogate intel and msvc for compatibility after
# #45189 lands
fortran_compiler = get_latest_valid_fortran_pth()
if fortran_compiler is not None:
extras["compilers"]["fortran"] = fortran_compiler
return spec, extras
def setup_dependent_build_environment(self, env, dependent_spec):
@@ -303,15 +276,3 @@ def vcvars_ver(self):
def command_str(self):
script = super(VCVarsInvocation, self).command_str()
return f"{script} {self.arch} {self.sdk_ver} {self.vcvars_ver}"
FC_PATH = {}
def get_valid_fortran_pth():
"""Assign maximum available fortran compiler version"""
# TODO (johnwparent): validate compatibility w/ try compiler
# functionality when added
sort_fn = lambda fc_ver: spack.version.Version(fc_ver)
sort_fc_ver = sorted(list(FC_PATH.keys()), key=sort_fn)
return FC_PATH[sort_fc_ver[-1]] if sort_fc_ver else None

View File

@@ -44,10 +44,13 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# Current
version(
"5.0.6", sha256="bd4183fcbc43477c254799b429df1a6e576c042e74a2d2f8b37d537b2ff98157"
) # libmpi.so.40.40.6
"5.0.7", sha256="119f2009936a403334d0df3c0d74d5595a32d99497f9b1d41e90019fee2fc2dd"
) # libmpi.so.40.40.7
# Still supported
version(
"5.0.6", sha256="bd4183fcbc43477c254799b429df1a6e576c042e74a2d2f8b37d537b2ff98157"
) # libmpi.so.40.40.6
version(
"5.0.5", sha256="6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776"
) # libmpi.so.40.40.5

View File

@@ -0,0 +1,23 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyContrib(PythonPackage):
"""A python package for making stacked area plots of contributions over time."""
homepage = "https://github.com/spack/contrib"
pypi = "contrib/contrib-0.3.0.tar.gz"
license("Apache-2.0 OR MIT")
version("0.3.0", sha256="55cf3a414c8b136f58588ec02e6833d1cc1d227a78f1778354ac6fcf9c2ccdda")
with default_args(type=("build", "run")):
depends_on("py-python-dateutil")
depends_on("py-jsonschema")
depends_on("py-matplotlib")
depends_on("py-pyyaml")
depends_on("py-setuptools")

View File

@@ -44,6 +44,7 @@ class Rocminfo(CMakePackage):
depends_on("cxx", type="build")
depends_on("cmake@3:", type="build")
extends("python@3:")
for ver in [
"5.3.0",

View File

@@ -28,6 +28,7 @@ class Yosys(MakefilePackage):
version("master", branch="master")
version("0.51", commit="c4b5190229616f7ebf8197f43990b4429de3e420", submodules=True)
version("0.50", commit="b5170e1394f602c607e75bdbb1a2b637118f2086", submodules=True)
version("0.49", commit="427b5a251bfb511528a177bfa92567b4b3ada3dd", submodules=True)
version("0.48", commit="aaa5347494801e9e3870b31387da59da24233f76", submodules=True)