Compare commits

...

28 Commits

Author SHA1 Message Date
Christophe Prud'homme
11aa02b37a feelpp/spack#11 (#47243) 2024-10-28 13:25:29 +01:00
Harmen Stoppels
b9ebf8cc9c gdk-pixbuf/atk: delete old versions, make mesonpackage (#47258)
* gdk-pixbuf: delete old versions, make mesonpackage

goal is to get rid of `std_meson_args` global, but clean up package
while at it.

`setup_dependent_run_environment` was removed because it did not depend
on the dependent spec, and would result in repeated env variable
changes.

* atk: idem

* fix a dependent
2024-10-28 12:21:59 +01:00
Miroslav Stoyanov
1229d5a3cc tasmanian: add v8.1 (#47221)
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-10-28 05:19:50 -06:00
teddy
be5a096665 py-non-regression-test-tools: add v1.1.2 & remove v1.0.2 (tag removed) (#47256)
Co-authored-by: t. chantrait <teddy.chantrait@cea.fr>
2024-10-28 05:06:23 -06:00
Adam J. Stewart
32ce278a51 ML CI: Linux aarch64 (#39666)
* ML CI: Linux aarch64

* Add config files

* No aarch64 tag

* Don't specify image

* Use amazonlinux image

Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>

* Update and require

* GCC is too old

* Fix some builds

* xgboost doesn't support old GCC + cuda

* Run on newer Ubuntu

* Remove mxnet

* Try aarch64 range

* Use main branch

* Conflict applies to all targets

* cuda only required when +cuda

* Use tagged version

* Comment out tf-estimator

* Add ROCm, use newer Ubuntu

* Remove ROCm

---------

Co-authored-by: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com>
2024-10-28 10:30:07 +01:00
Adam J. Stewart
e83536de38 bazel: add Apple Clang 16 conflict (#47228) 2024-10-28 09:11:59 +01:00
jmlapre
ff058377c5 sst: update core, elements, macro to 14.1.0 (#47184) 2024-10-28 09:10:46 +01:00
Adam J. Stewart
e855bb011d py-hatchet: add v1.4.0 (#47222) 2024-10-28 09:05:16 +01:00
Bernhard Kaindl
dbab4828ed py-mgmetis: fails to build with mpi4py @4: depend on @3 (#47236) 2024-10-28 09:04:18 +01:00
Christophe Prud'homme
fac92dceca cpr: add versions up to v1.11 (#47242) 2024-10-28 08:39:16 +01:00
Wouter Deconinck
035b890b17 pango: add v1.54.0 (#47244) 2024-10-28 08:37:21 +01:00
Wouter Deconinck
2a7e5cafa1 geode: add v1.13.8, v1.14.3, v1.15.1 (#47253) 2024-10-28 08:36:26 +01:00
Wouter Deconinck
49845760b6 less: add v661, v668 (#47252) 2024-10-27 19:47:35 -06:00
Wouter Deconinck
ce6255c0bb nano: add v8.1, v8.2 (and v6.4) (#47245)
* nano: add v8.1, v8.2

* nano: depends on gettext

* nano: add v6.4
2024-10-28 01:21:18 +01:00
Diego Alvarez S.
f0d54ba39d Add nextflow 24.10.0 (#47251) 2024-10-27 17:32:20 -06:00
Harmen Stoppels
2ec4281c4f Remove a few redundant imports (#47250)
* remove self-imports

* remove unused imports
2024-10-27 15:40:05 -06:00
Harmen Stoppels
e80d75cbe3 gha: circular imports: pin (#47248) 2024-10-27 21:34:32 +01:00
Greg Becker
47e70c5c3a explicit splice: do not fail for bad config replacement if target not matched (#46925)
Originally, concretization failed if the splice config points to an invalid replacement.

This PR defers the check until we know the splice is needed, so that irrelevant splices
with bad config cannot stop concretization.

While I was at it, I improved an error message from an assert to a ValueError.
2024-10-27 11:35:10 -07:00
William R Tobin
fea2171672 silo: resolve hdf5 develop-X.Y branch versions (#39344) 2024-10-27 06:44:20 -06:00
Beat Reichenbach
12a475e648 feat: Add OpenColorIO option to OpenImageIO (#47237)
* feat: Add OpenColorIO option to OpenImageIO

* style: Pep 8

---------

Co-authored-by: Beat Reichenbach <beatreichenbach@users.noreply.github.com>
2024-10-27 09:37:49 +01:00
Wouter Deconinck
c348891c07 pango: deprecate @:1.44 due to CVE (#47232) 2024-10-27 06:56:13 +01:00
Jeff Hammond
019e90ab36 NWChem: add TCE_CUDA option (#47191)
Signed-off-by: Jeff Hammond <jehammond@nvidia.com>
2024-10-27 06:54:06 +01:00
Jeff Hammond
19137b2653 add the USE_F90_ALLOCATABLE option to Spack (#47190)
Signed-off-by: Jeff Hammond <jehammond@nvidia.com>
2024-10-27 06:53:48 +01:00
Andrew W Elble
2761e650fa gem5: new package (#47218) 2024-10-27 06:28:26 +01:00
Asa
84ea389017 py-olcf-velocity: new package (#47215)
* Add package py-olcf-velocity

* Removed trailing newline

* Fixed packages description line length

---------

Co-authored-by: Asa Rentschler <rentschleraj@ornl.gov>
2024-10-27 05:36:23 +01:00
Adam J. Stewart
17f07523f5 py-alive-progress: support newer Python (#47220) 2024-10-27 05:24:51 +01:00
Pranav Sivaraman
bd2ddb8909 byte-lite: new package (#47234)
* byte-lite: new package

* byte-lite: style adjustments
2024-10-27 05:22:58 +01:00
Adam J. Stewart
f5db757e66 adios2: mark conflict with newer Python@3.11 for @:2.7 (#47219) 2024-10-27 04:40:38 +01:00
44 changed files with 710 additions and 170 deletions

View File

@@ -121,7 +121,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: haampie/circular-import-fighter
ref: 555519c6fd5564fd2eb844e7b87e84f4d12602e2
ref: 9f60f51bc7134e0be73f27623f1b0357d1718427
path: circular-import-fighter
- name: Install dependencies
working-directory: circular-import-fighter

View File

@@ -45,7 +45,6 @@
import spack.util.executable
import spack.util.path
import spack.util.spack_yaml
import spack.util.url
import spack.version
from spack.installer import PackageInstaller

View File

@@ -29,7 +29,6 @@
import spack.config
import spack.error
import spack.fetch_strategy
import spack.mirror
import spack.oci.image
import spack.repo
import spack.spec
@@ -756,7 +755,7 @@ def create_mirror_from_package_object(pkg_obj, mirror_cache, mirror_stats):
def require_mirror_name(mirror_name):
"""Find a mirror by name and raise if it does not exist"""
mirror = spack.mirror.MirrorCollection().get(mirror_name)
mirror = MirrorCollection().get(mirror_name)
if not mirror:
raise ValueError(f'no mirror named "{mirror_name}"')
return mirror

View File

@@ -32,7 +32,6 @@
from llnl.util.lang import classproperty, memoized
from llnl.util.link_tree import LinkTree
import spack.build_environment
import spack.builder
import spack.compilers
import spack.config
@@ -50,7 +49,6 @@
import spack.store
import spack.url
import spack.util.environment
import spack.util.executable
import spack.util.path
import spack.util.web
from spack.error import InstallError, NoURLError, PackageError

View File

@@ -39,7 +39,6 @@
import spack.error
import spack.patch
import spack.provider_index
import spack.repo
import spack.spec
import spack.tag
import spack.util.git
@@ -216,9 +215,9 @@ def compute_loader(self, fullname):
def packages_path():
"""Get the test repo if it is active, otherwise the builtin repo."""
try:
return spack.repo.PATH.get_repo("builtin.mock").packages_path
except spack.repo.UnknownNamespaceError:
return spack.repo.PATH.get_repo("builtin").packages_path
return PATH.get_repo("builtin.mock").packages_path
except UnknownNamespaceError:
return PATH.get_repo("builtin").packages_path
class GitExe:
@@ -314,7 +313,7 @@ def add_package_to_git_stage(packages):
git = GitExe()
for pkg_name in packages:
filename = spack.repo.PATH.filename_for_package_name(pkg_name)
filename = PATH.filename_for_package_name(pkg_name)
if not os.path.isfile(filename):
tty.die("No such package: %s. Path does not exist:" % pkg_name, filename)
@@ -1585,7 +1584,7 @@ def __init__(self, name, repo=None):
long_msg = "Use 'spack create' to create a new package."
if not repo:
repo = spack.repo.PATH
repo = PATH
# We need to compare the base package name
pkg_name = name.rsplit(".", 1)[-1]

View File

@@ -3829,8 +3829,16 @@ def execute_explicit_splices(self):
for splice_set in splice_config:
target = splice_set["target"]
replacement = spack.spec.Spec(splice_set["replacement"])
assert replacement.abstract_hash
replacement.replace_hash()
if not replacement.abstract_hash:
location = getattr(
splice_set["replacement"], "_start_mark", " at unknown line number"
)
msg = f"Explicit splice replacement '{replacement}' does not include a hash.\n"
msg += f"{location}\n\n"
msg += " Splice replacements must be specified by hash"
raise InvalidSpliceError(msg)
transitive = splice_set.get("transitive", False)
splice_triples.append((target, replacement, transitive))
@@ -3841,6 +3849,10 @@ def execute_explicit_splices(self):
if target in current_spec:
# matches root or non-root
# e.g. mvapich2%gcc
# The first iteration, we need to replace the abstract hash
if not replacement.concrete:
replacement.replace_hash()
current_spec = current_spec.splice(replacement, transitive)
new_key = NodeArgument(id=key.id, pkg=current_spec.name)
specs[new_key] = current_spec
@@ -4226,3 +4238,7 @@ def __init__(self, provided, conflicts):
# Add attribute expected of the superclass interface
self.required = None
self.constraint_type = None
class InvalidSpliceError(spack.error.SpackError):
"""For cases in which the splice configuration is invalid."""

View File

@@ -33,7 +33,6 @@
import spack.error
import spack.paths
import spack.spec
import spack.store
import spack.util.path
#: default installation root, relative to the Spack install path
@@ -308,7 +307,7 @@ def find(
matching_specs: List[spack.spec.Spec] = []
errors = []
query_fn = query_fn or spack.store.STORE.db.query
query_fn = query_fn or STORE.db.query
for spec in constraints:
current_matches = query_fn(spec, **kwargs)
@@ -341,7 +340,7 @@ def specfile_matches(filename: str, **kwargs) -> List["spack.spec.Spec"]:
**kwargs: keyword arguments forwarded to "find"
"""
query = [spack.spec.Spec.from_specfile(filename)]
return spack.store.find(query, **kwargs)
return find(query, **kwargs)
def ensure_singleton_created() -> None:

View File

@@ -2306,6 +2306,30 @@ def test_explicit_splices(
assert "hdf5 ^zmpi" in captured.err
assert str(spec) in captured.err
def test_explicit_splice_fails_nonexistent(mutable_config, mock_packages, mock_store):
splice_info = {"target": "mpi", "replacement": "mpich/doesnotexist"}
spack.config.CONFIG.set("concretizer", {"splice": {"explicit": [splice_info]}})
with pytest.raises(spack.spec.InvalidHashError):
_ = spack.spec.Spec("hdf5^zmpi").concretized()
def test_explicit_splice_fails_no_hash(mutable_config, mock_packages, mock_store):
splice_info = {"target": "mpi", "replacement": "mpich"}
spack.config.CONFIG.set("concretizer", {"splice": {"explicit": [splice_info]}})
with pytest.raises(spack.solver.asp.InvalidSpliceError, match="must be specified by hash"):
_ = spack.spec.Spec("hdf5^zmpi").concretized()
def test_explicit_splice_non_match_nonexistent_succeeds(
mutable_config, mock_packages, mock_store
):
"""When we have a nonexistent splice configured but are not using it, don't fail."""
splice_info = {"target": "will_not_match", "replacement": "nonexistent/doesnotexist"}
spack.config.CONFIG.set("concretizer", {"splice": {"explicit": [splice_info]}})
spec = spack.spec.Spec("zlib").concretized()
# the main test is that it does not raise
assert not spec.spliced
@pytest.mark.db
@pytest.mark.parametrize(
"spec_str,mpi_name",

View File

@@ -18,7 +18,6 @@
import llnl.util.filesystem as fs
import spack.compilers
import spack.config
import spack.deptypes as dt
import spack.error
import spack.install_test

View File

@@ -735,6 +735,52 @@ ml-linux-x86_64-rocm-build:
- artifacts: True
job: ml-linux-x86_64-rocm-generate
########################################
# Machine Learning - Linux aarch64 (CPU)
########################################
.ml-linux-aarch64-cpu:
extends: [ ".linux_aarch64" ]
variables:
SPACK_CI_STACK_NAME: ml-linux-aarch64-cpu
ml-linux-aarch64-cpu-generate:
extends: [ ".generate-aarch64", .ml-linux-aarch64-cpu ]
image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2
ml-linux-aarch64-cpu-build:
extends: [ ".build", ".ml-linux-aarch64-cpu" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: ml-linux-aarch64-cpu-generate
strategy: depend
needs:
- artifacts: True
job: ml-linux-aarch64-cpu-generate
#########################################
# Machine Learning - Linux aarch64 (CUDA)
#########################################
.ml-linux-aarch64-cuda:
extends: [ ".linux_aarch64" ]
variables:
SPACK_CI_STACK_NAME: ml-linux-aarch64-cuda
ml-linux-aarch64-cuda-generate:
extends: [ ".generate-aarch64", .ml-linux-aarch64-cuda ]
image: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2
ml-linux-aarch64-cuda-build:
extends: [ ".build", ".ml-linux-aarch64-cuda" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: ml-linux-aarch64-cuda-generate
strategy: depend
needs:
- artifacts: True
job: ml-linux-aarch64-cuda-generate
#########################################
# Machine Learning - Darwin aarch64 (MPS)
#########################################

View File

@@ -0,0 +1,85 @@
spack:
view: false
packages:
all:
require:
- target=aarch64
- ~cuda
- ~rocm
mpi:
require: openmpi
specs:
# Horovod
- py-horovod
# Hugging Face
- py-transformers
# JAX
- py-jax
- py-jaxlib
# Keras
- py-keras backend=tensorflow
- py-keras backend=jax
- py-keras backend=torch
- py-keras-applications
- py-keras-preprocessing
- py-keras2onnx
# PyTorch
- py-botorch
- py-efficientnet-pytorch
- py-gpytorch
- py-kornia
- py-lightning
- py-pytorch-gradual-warmup-lr
- py-pytorch-lightning
- py-segmentation-models-pytorch
- py-timm
- py-torch
- py-torch-cluster
- py-torch-geometric
- py-torch-nvidia-apex
- py-torch-scatter
- py-torch-sparse
- py-torch-spline-conv
- py-torchaudio
- py-torchdata
- py-torchfile
- py-torchgeo
- py-torchmetrics
- py-torchtext
- py-torchvision
- py-vector-quantize-pytorch
# scikit-learn
- py-scikit-learn
- py-scikit-learn-extra
# TensorBoard
- py-tensorboard
- py-tensorboard-data-server
- py-tensorboard-plugin-wit
- py-tensorboardx
# TensorFlow
- py-tensorflow
- py-tensorflow-datasets
- py-tensorflow-hub
- py-tensorflow-metadata
- py-tensorflow-probability
# XGBoost
- py-xgboost
ci:
pipeline-gen:
- build-job:
image:
name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2
entrypoint: ['']
cdash:
build-group: Machine Learning

View File

@@ -0,0 +1,91 @@
spack:
view: false
packages:
all:
require:
- target=aarch64
- ~rocm
- +cuda
- cuda_arch=80
llvm:
# https://github.com/spack/spack/issues/27999
require: ~cuda
mpi:
require: openmpi
specs:
# Horovod
- py-horovod
# Hugging Face
- py-transformers
# JAX
- py-jax
- py-jaxlib
# Keras
- py-keras backend=tensorflow
- py-keras backend=jax
- py-keras backend=torch
- py-keras-applications
- py-keras-preprocessing
- py-keras2onnx
# PyTorch
- py-botorch
- py-efficientnet-pytorch
- py-gpytorch
- py-kornia
- py-lightning
- py-pytorch-gradual-warmup-lr
- py-pytorch-lightning
- py-segmentation-models-pytorch
- py-timm
- py-torch
- py-torch-cluster
- py-torch-geometric
- py-torch-nvidia-apex
- py-torch-scatter
- py-torch-sparse
- py-torch-spline-conv
- py-torchaudio
- py-torchdata
- py-torchfile
- py-torchgeo
- py-torchmetrics
# torchtext requires older pytorch, which requires older cuda, which doesn't support newer GCC
# - py-torchtext
- py-torchvision
- py-vector-quantize-pytorch
# scikit-learn
- py-scikit-learn
- py-scikit-learn-extra
# TensorBoard
- py-tensorboard
- py-tensorboard-data-server
- py-tensorboard-plugin-wit
- py-tensorboardx
# TensorFlow
- py-tensorflow
- py-tensorflow-datasets
- py-tensorflow-hub
- py-tensorflow-metadata
- py-tensorflow-probability
# XGBoost
# xgboost requires older cuda, which doesn't support newer GCC
# - py-xgboost
ci:
pipeline-gen:
- build-job:
image:
name: ghcr.io/spack/ubuntu-24.04:v2024-09-05-v2
entrypoint: ['']
cdash:
build-group: Machine Learning

View File

@@ -200,6 +200,9 @@ class Adios2(CMakePackage, CudaPackage, ROCmPackage):
depends_on("aws-sdk-cpp", when="+aws")
depends_on("libcatalyst@2", when="+libcatalyst")
# error: invalid use of incomplete type 'PyFrameObject' {aka 'struct _frame'}
conflicts("^python@3.11:", when="@:2.7")
# Fix findmpi when called by dependees
# See https://github.com/ornladios/ADIOS2/pull/1632
patch("cmake-update-findmpi.patch", when="@2.4.0")

View File

@@ -6,7 +6,7 @@
from spack.package import *
class Atk(Package):
class Atk(MesonPackage):
"""ATK provides the set of accessibility interfaces that are
implemented by other toolkits and applications. Using the ATK
interfaces, accessibility tools have full access to view and
@@ -23,20 +23,10 @@ class Atk(Package):
version("2.36.0", sha256="fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788")
version("2.30.0", sha256="dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b")
version("2.28.1", sha256="cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc")
version(
"2.20.0",
sha256="493a50f6c4a025f588d380a551ec277e070b28a82e63ef8e3c06b3ee7c1238f0",
deprecated=True,
)
version(
"2.14.0",
sha256="2875cc0b32bfb173c066c22a337f79793e0c99d2cc5e81c4dac0d5a523b8fbad",
deprecated=True,
)
depends_on("c", type="build") # generated
depends_on("c", type="build")
depends_on("meson@0.40.1:", type="build", when="@2.28:")
depends_on("meson@0.40.1:", type="build")
depends_on("meson@0.46.0:", type="build", when="@2.29:")
depends_on("glib")
depends_on("gettext")
@@ -45,33 +35,15 @@ class Atk(Package):
depends_on("libffi")
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
url = "http://ftp.gnome.org/pub/gnome/sources/atk"
return url + f"/{version.up_to(2)}/atk-{version}.tar.xz"
return (
f"http://ftp.gnome.org/pub/gnome/sources/atk/"
f"{version.up_to(2)}/atk-{version}.tar.xz"
)
def setup_run_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def install(self, spec, prefix):
with working_dir("spack-build", create=True):
meson("..", *std_meson_args)
ninja("-v")
ninja("install")
@when("@:2.27")
def install(self, spec, prefix):
configure(f"--prefix={prefix}")
make()
if self.run_tests:
make("check")
make("install")
if self.run_tests:
make("installcheck")

View File

@@ -140,6 +140,9 @@ class Bazel(Package):
# Newer versions of grpc and abseil dependencies are needed but are not in bazel-4.0.0
conflicts("@4.0.0", when="%gcc@11:")
# https://github.com/bazelbuild/bazel/pull/23667
conflicts("%apple-clang@16:", when="@:7.3")
executables = ["^bazel$"]
# Download resources to perform offline build with bazel.

View File

@@ -0,0 +1,29 @@
# 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 ByteLite(CMakePackage):
"""byte lite - A C++17-like byte type for C++98, C++11 and later
in a single-file header-only library"""
homepage = "https://github.com/martinmoene/byte-lite"
url = "https://github.com/martinmoene/byte-lite/archive/refs/tags/v0.3.0.tar.gz"
license("BSL-1.0", checked_by="pranav-sivaraman")
version("0.3.0", sha256="1a19e237b12bb098297232b0a74ec08c18ac07ac5ac6e659c1d5d8a4ed0e4813")
depends_on("cxx", type="build")
depends_on("cmake@3.5:", type="build")
conflicts("%gcc@:4.7")
conflicts("%clang@:3.4")
conflicts("%apple-clang@:5")
conflicts("%mvsc@:5")
def cmake_args(self):
return [self.define("BYTE_LITE_OPT_BUILD_TESTS", self.run_tests)]

View File

@@ -12,8 +12,11 @@ class Cpr(CMakePackage):
homepage = "https://docs.libcpr.org/"
url = "https://github.com/libcpr/cpr/archive/refs/tags/1.10.4.tar.gz"
maintainers("prudhomm")
license("MIT")
version("1.11.0", sha256="fdafa3e3a87448b5ddbd9c7a16e7276a78f28bbe84a3fc6edcfef85eca977784")
version("1.10.5", sha256="c8590568996cea918d7cf7ec6845d954b9b95ab2c4980b365f582a665dea08d8")
version("1.10.4", sha256="88462d059cd3df22c4d39ae04483ed50dfd2c808b3effddb65ac3b9aa60b542d")
version("1.9.2", sha256="3bfbffb22c51f322780d10d3ca8f79424190d7ac4b5ad6ad896de08dbd06bf31")

View File

@@ -0,0 +1,32 @@
# 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 Fmi4cpp(CMakePackage):
"""FMI4cpp is a cross-platform FMI 2.0 implementation written in modern C++.
FMI4cpp supports both Co-simulation and Model Exchange.
"""
homepage = "https://github.com/NTNU-IHB/FMI4cpp"
url = "https://github.com/NTNU-IHB/FMI4cpp/archive/refs/tags/v0.8.3.tar.gz"
git = "https://github.com/NTNU-IHB/FMI4cpp.git"
maintainers("prudhomm")
license("MIT", checked_by="prudhomm")
version("master", branch="master")
version("0.8.3", sha256="f48c630f087bdf8d7a04611f6f30942c870c3c1211a94ef2404c40baa4bcb2c9")
variant("shared", default=True, description="Build shared library")
depends_on("cxx", type="build")
depends_on("libzip")
depends_on("pugixml")
def cmake_args(self):
args = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]
return args

View File

@@ -6,12 +6,10 @@
from spack.package import *
class GdkPixbuf(Package):
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer
manipulation. It is used by GTK+ 2 and GTK+ 3 to load and
manipulate images. In the past it was distributed as part of
GTK+ 2 but it was split off into a separate package in
preparation for the change to GTK+ 3."""
class GdkPixbuf(MesonPackage):
"""The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. It is used by
GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it was distributed as part of
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"
@@ -43,44 +41,20 @@ class GdkPixbuf(Package):
sha256="83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15",
deprecated=True,
)
# https://nvd.nist.gov/vuln/detail/CVE-2021-20240
version(
"2.40.0",
sha256="1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6",
deprecated=True,
)
version(
"2.38.2",
sha256="73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781",
deprecated=True,
)
version(
"2.38.0",
sha256="dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47",
deprecated=True,
)
version(
"2.31.2",
sha256="9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa",
deprecated=True,
)
depends_on("c", type="build")
variant("x11", default=False, description="Enable X11 support", when="@:2.41")
variant("tiff", default=False, description="Enable TIFF support(partially broken)")
# Man page creation was getting docbook errors, see issue #18853
variant("man", default=False, description="Enable man page creation")
depends_on("meson@0.55.3:", type="build", when="@2.42.2:")
depends_on("meson@0.46.0:", type="build", when="@2.37.92:")
depends_on("meson@0.45.0:", type="build", when="@2.37.0:")
depends_on("ninja", type="build", when="@2.37.0:")
depends_on("shared-mime-info", when="@2.36.8: platform=linux")
depends_on("pkgconfig", type="build")
# Building the man pages requires libxslt and the Docbook stylesheets
depends_on("libxslt", type="build", when="+man")
depends_on("docbook-xsl@1.79.2:", type="build", when="+man")
with default_args(type="build"):
depends_on("meson@0.55.3:")
depends_on("pkgconfig")
depends_on("libxslt", when="+man")
depends_on("docbook-xsl@1.79.2:", when="+man")
depends_on("shared-mime-info", when="platform=linux")
depends_on("gettext")
depends_on("glib@2.38.0:")
depends_on("jpeg")
@@ -88,68 +62,28 @@ class GdkPixbuf(Package):
depends_on("zlib-api")
depends_on("libtiff", when="+tiff")
depends_on("gobject-introspection")
depends_on("libx11", when="+x11")
# Replace the docbook stylesheet URL with the one that our
# docbook-xsl package uses/recognizes.
# Pach modifies meson build files, so it only applies to versions that
# depend on meson.
patch("docbook-cdn.patch", when="@2.37.0:+man")
# Replace the docbook stylesheet URL with the one that our docbook-xsl package uses/recognizes.
patch("docbook-cdn.patch", when="+man")
def url_for_version(self, version):
url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/{0}/gdk-pixbuf-{1}.tar.xz"
return url.format(version.up_to(2), version)
def setup_run_environment(self, env):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def setup_dependent_run_environment(self, env, dependent_spec):
env.prepend_path("XDG_DATA_DIRS", self.prefix.share)
env.prepend_path("GI_TYPELIB_PATH", join_path(self.prefix.lib, "girepository-1.0"))
def install(self, spec, prefix):
with working_dir("spack-build", create=True):
meson_args = std_meson_args + ["-Dman={0}".format("+man" in spec)]
# Only build tests when requested
if self.version >= Version("2.42.9"):
meson_args += ["-Dtests={0}".format(self.run_tests)]
# Based on suggestion by luigi-calori and the fixup shown by lee218llnl:
# https://github.com/spack/spack/pull/27254#issuecomment-974464174
if spec.satisfies("+x11"):
if self.version >= Version("2.42"):
raise InstallError("+x11 is not valid for {0}".format(self.version))
meson_args += ["-Dx11=true"]
meson("..", *meson_args)
ninja("-v")
if self.run_tests:
ninja("test")
ninja("install")
def configure_args(self):
args = []
# disable building of gtk-doc files following #9771
args.append("--disable-gtk-doc-html")
true = which("true")
args.append("GTKDOC_CHECK={0}".format(true))
args.append("GTKDOC_CHECK_PATH={0}".format(true))
args.append("GTKDOC_MKPDF={0}".format(true))
args.append("GTKDOC_REBASE={0}".format(true))
def meson_args(self):
args = [f"-Dman={'true' if self.spec.satisfies('+man') else 'false'}"]
if self.spec.satisfies("@2.42.9:"):
args.append(f"-Dtests={'true' if self.run_tests else 'false'}")
return args
@when("@:2.36")
def install(self, spec, prefix):
configure("--prefix={0}".format(prefix), *self.configure_args())
make()
if self.run_tests:
make("check")
make("install")
if self.run_tests:
make("installcheck")
def setup_build_environment(self, env):
# The "post-install.sh" script uses gdk-pixbuf-query-loaders,
# which was installed earlier.

View File

@@ -0,0 +1,70 @@
# 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 Gem5(SConsPackage):
"""The gem5 simulator is a modular platform for computer-system
architecture research, encompassing system-level architecture as
well as processor microarchitecture. gem5 is a community led
project with an open governance model. gem5 was originally
conceived for computer architecture research in academia, but it
has grown to be used in computer system design by academia,
industry for research, and in teaching."""
homepage = "https://www.gem5.org"
git = "https://github.com/gem5/gem5"
url = "https://github.com/gem5/gem5/archive/refs/tags/v24.0.0.0.tar.gz"
version("24.0.0.1", tag="v24.0.0.1", commit="b1a44b89c7bae73fae2dc547bc1f871452075b85")
version("24.0.0.0", tag="v24.0.0.0", commit="43769abaf05120fed1e4e0cfbb34619edbc10f3f")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("scons", type="build")
depends_on("py-mypy", type="build")
depends_on("py-pybind11", type="build")
depends_on("python")
depends_on("gettext")
depends_on("hdf5+cxx")
depends_on("protobuf")
depends_on("gperftools")
depends_on("graphviz+pangocairo", type=("build", "run"))
depends_on("py-pydot", type=("build", "run"))
depends_on("capstone")
def patch(self):
filter_file(
" Environment(tools=[",
" Environment(ENV=os.environ, tools=[",
"SConstruct",
string=True,
)
filter_file(
"""conf.env['CONF']['HAVE_PERF_ATTR_EXCLUDE_HOST'] = conf.CheckMember(""",
"""conf.env['CONF']['HAVE_PERF_ATTR_EXCLUDE_HOST'] = bool(conf.CheckMember(""",
"src/cpu/kvm/SConsopts",
string=True,
)
filter_file(
"""perf_event_attr', 'exclude_host')""",
"""perf_event_attr', 'exclude_host'))""",
"src/cpu/kvm/SConsopts",
string=True,
)
def install(self, spec, prefix):
mkdirp(prefix.bin)
install("build/ALL/gem5.opt", prefix.bin)
def build_args(self, spec, prefix):
args = []
args.append("build/ALL/gem5.opt")
args.append(f"-j{spack.config.determine_number_of_jobs(parallel=True)}")
args.append("--ignore-style")
return args

View File

@@ -15,14 +15,21 @@ class Geode(Package):
homepage = "https://geode.apache.org/"
url = "https://archive.apache.org/dist/geode/1.9.2/apache-geode-1.9.2.tgz"
list_url = "https://archive.apache.org/dist/geode/"
list_depth = 1
license("Apache-2.0")
version("1.9.2", sha256="4b8118114ef43166f6bf73af56b93aadbf9108fcab06d1fbbb8e27f7d559d7e0")
version("1.9.0", sha256="8794808ebc89bc855f0b989b32e91e890d446cfd058e123f6ccb9e12597c1c4f")
version("1.8.0", sha256="58edc41edac4eabd899322b73a24727eac41f6253274c2ce7d0a82227121ae3e")
version("1.7.0", sha256="91eec04420f46e949d32104479c4a4b5b34a4e5570dca7b98ca067a30d5a783d")
version("1.6.0", sha256="79e8d81d058b1c4edd5fb414ff30ac530f7913b978f5abc899c353fcb06e5ef3")
version("1.15.1", sha256="2668970982d373ef42cff5076e7073b03e82c8e2fcd7757d5799b2506e265d57")
version("1.14.3", sha256="5efb1c71db34ba3b7ce1004579f8b9b7a43eae30f42c37837d5abd68c6d778bd")
version("1.13.8", sha256="b5fc105ce0a16aaf7ba341668e022d458b18d6d2c44705a8c79c42077c6d8229")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2022-37021
version("1.9.2", sha256="4b8118114ef43166f6bf73af56b93aadbf9108fcab06d1fbbb8e27f7d559d7e0")
version("1.9.0", sha256="8794808ebc89bc855f0b989b32e91e890d446cfd058e123f6ccb9e12597c1c4f")
version("1.8.0", sha256="58edc41edac4eabd899322b73a24727eac41f6253274c2ce7d0a82227121ae3e")
version("1.7.0", sha256="91eec04420f46e949d32104479c4a4b5b34a4e5570dca7b98ca067a30d5a783d")
version("1.6.0", sha256="79e8d81d058b1c4edd5fb414ff30ac530f7913b978f5abc899c353fcb06e5ef3")
depends_on("java", type="run")

View File

@@ -17,9 +17,13 @@ class Less(AutotoolsPackage):
depends_on("ncurses")
license("GPL-3.0-or-later OR BSD-2-Clause")
license("GPL-3.0-or-later OR BSD-2-Clause", checked_by="wdconinc")
version("668", sha256="dbc0de59ea9c50e1e8927e6b077858db3a84954e767909bc599e6e6f602c5717")
version("661", sha256="a900e3916738bf8c1a0a2a059810f1c59b8271ac8bb46898c6e921ea6aefd757")
version("643", sha256="3bb417c4b909dfcb0adafc371ab87f0b22e8b15f463ec299d156c495fc9aa196")
version("590", sha256="69056021c365b16504cf5bd3864436a5e50cb2f98b76cd68b99b457064139375")
version("551", sha256="2630db16ef188e88b513b3cc24daa9a798c45643cc7da06e549c9c00cfd84244")
version("530", sha256="8c1652ba88a726314aa2616d1c896ca8fe9a30253a5a67bc21d444e79a6c6bc3")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2022-46663
version("590", sha256="69056021c365b16504cf5bd3864436a5e50cb2f98b76cd68b99b457064139375")
version("551", sha256="2630db16ef188e88b513b3cc24daa9a798c45643cc7da06e549c9c00cfd84244")
version("530", sha256="8c1652ba88a726314aa2616d1c896ca8fe9a30253a5a67bc21d444e79a6c6bc3")

View File

@@ -14,13 +14,16 @@ class Nano(AutotoolsPackage):
list_url = "https://www.nano-editor.org/dist/"
list_depth = 1
license("GPL-3.0-or-later")
license("GPL-3.0-or-later", checked_by="wdconinc")
# 8.x
version("8.2", sha256="d5ad07dd862facae03051c54c6535e54c7ed7407318783fcad1ad2d7076fffeb")
version("8.1", sha256="93b3e3e9155ae389fe9ccf9cb7ab380eac29602835ba3077b22f64d0f0cbe8cb")
version("8.0", sha256="c17f43fc0e37336b33ee50a209c701d5beb808adc2d9f089ca831b40539c9ac4")
# 7.x
version("7.2", sha256="86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526")
# 6.x
version("6.4", sha256="4199ae8ca78a7796de56de1a41b821dc47912c0307e9816b56cc317df34661c0")
version("6.3", sha256="eb532da4985672730b500f685dbaab885a466d08fbbf7415832b95805e6f8687")
version("6.2", sha256="2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3")
version("6.1", sha256="3d57ec893fbfded12665b7f0d563d74431fc43abeaccacedea23b66af704db40")
@@ -82,9 +85,11 @@ class Nano(AutotoolsPackage):
version("2.6.2", sha256="22f79cc635458e0c0d110d211576f1edc03b112a62d73b914826a46547a6ac27")
version("2.6.1", sha256="45721fa6d6128068895ad71a6967ff7398d11b064b3f888e5073c97a2b6e9a81")
depends_on("c", type="build") # generated
depends_on("c", type="build")
depends_on("pkgconfig", type="build")
depends_on("gettext@0.18.3:")
depends_on("gettext@0.20:", when="@8.1:")
depends_on("ncurses")
def url_for_version(self, version):

View File

@@ -14,6 +14,11 @@ class Nextflow(Package):
maintainers("dialvarezs", "marcodelapierre")
version(
"24.10.0",
sha256="e848918fb9b85762822c078435d9ff71979a88cccff81ce5babd75d5eee52fe6",
expand=False,
)
version(
"24.04.3",
sha256="e258f6395a38f044eb734cba6790af98b561aa521f63e2701fe95c050986e11c",
@@ -187,7 +192,6 @@ class Nextflow(Package):
deprecated=True,
)
depends_on("java@17", when="@24", type="run")
depends_on("java", type="run")
def install(self, spec, prefix):

View File

@@ -46,6 +46,7 @@ class Nwchem(Package):
depends_on("fortran", type="build") # generated
variant("openmp", default=False, description="Enables OpenMP support")
variant("f90allocatable", default=False, description="Use F90 allocatable instead of MA")
variant(
"armci",
values=("mpi-ts", "mpi-pr", "armcimpi", "mpi3", "openib", "ofi"),
@@ -57,6 +58,7 @@ class Nwchem(Package):
default=False,
description="Enables rarely-used TCE features (CCSDTQ, CCSDTLR, EACCSD, IPCCSD, MRCC)",
)
variant("tcecuda", default=False, description="Enable TCE CCSD(T) CUDA support")
variant("fftw3", default=False, description="Link against the FFTW library")
variant("libxc", default=False, description="Support additional functionals via libxc")
variant(
@@ -86,6 +88,7 @@ class Nwchem(Package):
depends_on("blas")
depends_on("lapack")
depends_on("mpi")
depends_on("cuda", when="+tcecuda")
depends_on("armcimpi", when="armci=armcimpi")
depends_on("libfabric", when="armci=ofi")
depends_on("rdma-core", when="armci=openib")
@@ -155,9 +158,18 @@ def install(self, spec, prefix):
args.extend(["CCSDTLR=y"])
args.extend(["CCSDTQ=y"])
if spec.satisfies("+tcecuda"):
args.extend(["TCE_CUDA=y"])
args.extend(["CUDA_INCLUDE=-I{0}".format(self.spec["cuda"].headers.directories[0])])
# args.extend(["CUDA_LIBS={0}".format(self.spec["cuda"].libs)])
args.extend(["CUDA_LIBS=-L{0} -lcudart".format(self.spec["cuda"].libs.directories[0])])
if spec.satisfies("+openmp"):
args.extend(["USE_OPENMP=y"])
if spec.satisfies("+f90allocatable"):
args.extend(["USE_F90_ALLOCATABLE=1"])
if self.spec.variants["armci"].value == "armcimpi":
armcimpi = spec["armci"]
args.extend(["ARMCI_NETWORK=ARMCI"])

View File

@@ -0,0 +1,39 @@
# 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 Opencolorio(CMakePackage):
"""OpenColorIO (OCIO) is a complete color management solution geared towards motion
picture production with an emphasis on visual effects and computer animation."""
homepage = "https://opencolorio.readthedocs.io"
git = "https://github.com/AcademySoftwareFoundation/OpenColorIO"
url = (
"https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/refs/tags/v2.4.0.tar.gz"
)
license("Apache-2.0")
version("2.4.0", sha256="0ff3966b9214da0941b2b1cbdab3975a00a51fc6f3417fa860f98f5358f2c282")
# Core dependencies
depends_on("cmake@3.14:", type="build")
depends_on("expat@2.2.8:")
depends_on("yaml-cpp@0.6.3:")
depends_on("imath@3.0.5:")
depends_on("pystring@1.1.3:")
# Optional dependencies
variant("lcms", default=False, description="Little CMS for ociobakelut")
depends_on("lcms@2.2:", when="+lcms")
variant("python", default=False, description="Build python bindings")
extends("python", when="+python")
depends_on("py-pybind11", when="+python", type=("build", "run"))
def cmake_args(self):
args = ["-DOCIO_BUILD_PYTHON={0}".format("ON" if "+python" in self.spec else "OFF")]
return args

View File

@@ -42,6 +42,9 @@ class Openimageio(CMakePackage):
variant("qt", default=False, description="Build qt viewer")
depends_on("qt@5.6.0:+opengl", when="+qt")
variant("ocio", default=False, description="Support video frames")
depends_on("opencolorio@2.2:", when="+ocio")
def url_for_version(self, version):
if version >= Version("2"):
return super().url_for_version(version)

View File

@@ -22,6 +22,7 @@ class Pango(MesonPackage):
# Do not upgrade to v1.90.x. It is a development release in preparation for
# v2.0 that will break API and ABI compatibility. For more information see
# https://download.gnome.org/sources/pango/1.90/pango-1.90.0.news
version("1.54.0", sha256="8a9eed75021ee734d7fc0fdf3a65c3bba51dfefe4ae51a9b414a60c70b2d1ed8")
version("1.52.2", sha256="d0076afe01082814b853deec99f9349ece5f2ce83908b8e58ff736b41f78a96b")
version("1.50.13", sha256="5cdcf6d761d26a3eb9412b6cb069b32bd1d9b07abf116321167d94c2189299fd")
version("1.50.7", sha256="0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33")
@@ -30,14 +31,26 @@ class Pango(MesonPackage):
version("1.47.0", sha256="730db8652fc43188e03218c3374db9d152351f51fc7011b9acae6d0a6c92c367")
version("1.46.2", sha256="d89fab5f26767261b493279b65cfb9eb0955cd44c07c5628d36094609fc51841")
version("1.45.5", sha256="f61dd911de2d3318b43bbc56bd271637a46f9118a1ee4378928c06df8a1c1705")
version("1.44.6", sha256="3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c")
version("1.42.4", sha256="1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d")
with default_args(deprecated=True):
# https://nvd.nist.gov/vuln/detail/CVE-2019-1010238
version(
"1.44.6", sha256="3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c"
)
version(
"1.42.4", sha256="1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d"
)
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
variant("X", default=False, description="Enable an X toolkit")
depends_on("meson@0.48:", type="build", when="@1.43:")
depends_on("meson@0.50:", type="build", when="@1.44.4:")
depends_on("meson@0.54:", type="build", when="@1.48.0:")
depends_on("meson@0.55.3:", type="build", when="@1.48.1:")
depends_on("meson@0.60:", type="build", when="@1.50.13:")
depends_on("meson@0.63:", type="build", when="@1.54:")
depends_on("pkgconfig@0.9.0:", type="build")
depends_on("harfbuzz")
depends_on("harfbuzz+coretext", when="platform=darwin")
@@ -89,7 +102,9 @@ def meson_args(self):
args.append("-Dxft=disabled")
# disable building of gtk-doc files following #9885 and #9771
if spec.satisfies("@1.44:"):
if spec.satisfies("@1.54:"):
args.append("-Ddocumentation=false")
elif spec.satisfies("@1.44:"):
args.append("-Dgtk_doc=false")
else:
args.append("-Denable_docs=false")

View File

@@ -19,7 +19,7 @@ class PyAliveProgress(PythonPackage):
version("2.4.1", sha256="089757c8197f27ad972ba27e1060f6db92368d83c736884e159034fd74865323")
version("1.6.2", sha256="642e1ce98becf226c8c36bf24e10221085998c5465a357a66fb83b7dc618b43e")
depends_on("python@2.7:3.8", type=("build", "run"))
depends_on("python@2.7:3", type=("build", "run"))
depends_on("python@3.6:3", type=("build", "run"), when="@2:")
depends_on("python@3.7:3", type=("build", "run"), when="@2.2:")
depends_on("py-setuptools", type="build")

View File

@@ -0,0 +1,19 @@
# 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 PyArpeggio(PythonPackage):
"""Packrat parser interpreter."""
homepage = "https://github.com/textX/Arpeggio"
pypi = "Arpeggio/Arpeggio-2.0.2.tar.gz"
license("MIT")
version("2.0.2", sha256="c790b2b06e226d2dd468e4fbfb5b7f506cec66416031fde1441cf1de2a0ba700")
depends_on("py-setuptools", type="build")

View File

@@ -0,0 +1,19 @@
# 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 PyCaliperReader(PythonPackage):
"""A Python library for reading Caliper .cali files."""
homepage = "https://github.com/LLNL/Caliper"
pypi = "caliper-reader/caliper-reader-0.4.0.tar.gz"
license("BSD-3-Clause")
version("0.4.0", sha256="00c2c0165a0665dbae58579a1477cb785b3f11350f060e95a6e5ce42f02d5c37")
depends_on("py-setuptools", type="build")

View File

@@ -18,6 +18,7 @@ class PyHatchet(PythonPackage):
license("MIT")
version("1.4.0", sha256="9f934f128666703d30818e9a091493df1bf1819bf7445ffb35a0f46871501b55")
version("1.3.0", sha256="d77d071fc37863fdc9abc3fd9ea1088904cd98c6980a014a31e44595d2deac5e")
version("1.2.0", sha256="1d5f80abfa69d1a379dff7263908c5c915023f18f26d50b639556e2f43ac755e")
version("1.1.0", sha256="71bfa2881ef295294e5b4493acb8cce98d14c354e9ae59b42fb56a76d8ec7056")
@@ -30,9 +31,14 @@ class PyHatchet(PythonPackage):
depends_on("python@2.7:3.8", when="@:1.3.0", type=("build", "run"))
depends_on("python@2.7:", when="@1.3.1:", type=("build", "run"))
depends_on("py-cython", when="@1.4:", type="build")
depends_on("py-setuptools", type="build")
depends_on("py-pydot", type=("build", "run"))
depends_on("py-pyyaml", type=("build", "run"))
depends_on("py-matplotlib", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
depends_on("py-pandas", type=("build", "run"))
depends_on("py-pydot", type=("build", "run"))
depends_on("py-pyyaml", type=("build", "run"))
depends_on("py-textx", when="@1.4:", type=("build", "run"))
depends_on("py-multiprocess", when="@1.4:", type=("build", "run"))
depends_on("py-caliper-reader", when="@1.4:", type=("build", "run"))
depends_on("py-pycubexr", when="@1.4:", type=("build", "run"))

View File

@@ -21,6 +21,6 @@ class PyMgmetis(PythonPackage):
depends_on("py-setuptools", type="build")
depends_on("py-numpy@1.20.0:1.26.4", type=("build", "run"))
depends_on("py-cython", type=("build"))
depends_on("py-mpi4py@3.0.3:", type=("build", "run"))
depends_on("py-mpi4py@3.0.3:3", type=("build", "run"))
depends_on("py-pytest")
depends_on("metis+shared", type="all")

View File

@@ -18,8 +18,8 @@ class PyNonRegressionTestTools(PythonPackage):
version("develop", branch="develop")
version("main", branch="main")
version("1.0.2", tag="v1.0.2", preferred=True)
version("1.1.2", tag="v1.1.2", preferred=True)
depends_on("py-numpy", type="run")
depends_on("python@3.7:", type="run")
depends_on("python@3.10:", type="run")
depends_on("py-setuptools", type="build")

View File

@@ -0,0 +1,30 @@
# 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 PyOlcfVelocity(PythonPackage):
"""A tool to help with the maintenance of container build scripts on multiple systems,
backends (e.g podman or apptainer) and distros."""
homepage = "https://olcf.github.io/velocity/index.html"
pypi = "olcf_velocity/olcf_velocity-0.1.3.tar.gz"
maintainers("AcerP-py")
license("UNKNOWN", checked_by="AcerP-py")
version("0.1.3", sha256="08bd82d464e8cab6c61cab095d460b927a18e082cadb663bd5f935cf651b5c03")
depends_on("python@3.10:", type=("build", "run"))
depends_on("py-pyyaml", type="run")
depends_on("py-networkx", type="run")
depends_on("py-colorama", type="run")
depends_on("py-loguru", type="run")
depends_on("py-typing-extensions", type="run")
depends_on("py-setuptools", type="build")

View File

@@ -0,0 +1,20 @@
# 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 PyPycubexr(PythonPackage):
"""pyCubexR is a Python package for reading the Cube4 file format."""
homepage = "https://github.com/extra-p/pycubexr"
pypi = "pycubexr/pycubexr-2.0.0.tar.gz"
license("BSD-3-Clause")
version("2.0.0", sha256="03504fbbc9cbd514943e8aeb57919ad49731fe264bdbab86711bf10851276924")
depends_on("py-setuptools", type="build")
depends_on("py-numpy@1.18:1", type=("build", "run"))

View File

@@ -0,0 +1,23 @@
# 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 PyTextx(PythonPackage):
"""Meta-language for DSL implementation inspired by Xtext."""
homepage = "https://textx.github.io/textX/"
pypi = "textx/textx-4.0.1.tar.gz"
license("MIT")
version("4.0.1", sha256="84aff5c95fd2c947402fcbe83eeeddc23aabcfed3464ab84184ef193c52d831a")
depends_on("c", type="build")
depends_on("py-flit-core@3.8:3", type="build")
depends_on("python@3.8:3.12", type=("build", "run"))
depends_on("py-arpeggio@2:", type=("build", "run"))
depends_on("py-importlib-metadata", when="^python@:3.9", type=("build", "run"))

View File

@@ -0,0 +1,21 @@
# 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 Pystring(CMakePackage):
"""Pystring is a collection of C++ functions which match the interface and behavior
of python's string class methods using std::string."""
git = "https://github.com/imageworks/pystring"
url = "https://github.com/imageworks/pystring/archive/refs/tags/v1.1.4.tar.gz"
license("Apache-2.0")
version("1.1.4", sha256="49da0fe2a049340d3c45cce530df63a2278af936003642330287b68cefd788fb")
# Core dependencies
depends_on("cmake@3.27.9:", type="build")

View File

@@ -142,8 +142,14 @@ def flag_handler(self, name, flags):
# presented with an HDF5 API consistent with the HDF5 version.
# Use the latest even-numbered API version, i.e. v1.13.1 uses
# API v1.12
maj_ver = int(spec["hdf5"].version[0])
min_ver = int(spec["hdf5"].version[1])
# hdf5 support branches have a `develop` prefix
if "develop" in str(spec["hdf5"].version):
maj_ver = int(spec["hdf5"].version[1])
min_ver = int(spec["hdf5"].version[2])
else:
maj_ver = int(spec["hdf5"].version[0])
min_ver = int(spec["hdf5"].version[1])
min_apiver = int(min_ver / 2) * 2
flags.append("-DH5_USE_{0}{1}_API".format(maj_ver, min_apiver))

View File

@@ -14,12 +14,14 @@ class SstCore(AutotoolsPackage):
homepage = "https://github.com/sstsimulator"
git = "https://github.com/sstsimulator/sst-core.git"
url = "https://github.com/sstsimulator/sst-core/releases/download/v13.1.0_Final/sstcore-13.1.0.tar.gz"
url = "https://github.com/sstsimulator/sst-core/releases/download/v14.1.0_Final/sstcore-14.1.0.tar.gz"
maintainers("berquist", "naromero77")
license("BSD-3-Clause")
version("14.1.0", sha256="9d17c37d1ebdff8d8eb10ab0084eb901c78a7c5a76db15189e3d7fc318fd6f9d")
version("14.0.0", sha256="fadc7ee99472ff3ac5d4b3f3e507123e32bd9fb89c4c6b48fbd2dca8aeb8b8d6")
version("13.1.0", sha256="0a44c62ee0b18a20a3cb089f4e0d43e293dc5adc6c3fa7639d40986cf5b9854c")
version("13.0.0", sha256="c9d868dcdd75d59bef7c73146709a3b2a52a78f0df5ec2c3dc9f21434c51d935")
version("12.1.0", sha256="f7530226643439678e2f4183ec4dbadf7750411bdaa44d9443887f81feb97574")

View File

@@ -14,12 +14,14 @@ class SstElements(AutotoolsPackage):
homepage = "https://github.com/sstsimulator"
git = "https://github.com/sstsimulator/sst-elements.git"
url = "https://github.com/sstsimulator/sst-elements/releases/download/v13.1.0_Final/sstelements-13.1.0.tar.gz"
url = "https://github.com/sstsimulator/sst-elements/releases/download/v14.1.0_Final/sstelements-14.1.0.tar.gz"
maintainers("berquist", "naromero77")
license("BSD-3-Clause")
version("14.1.0", sha256="433994065810d3afee4e355173e781cd76171043cce8835bbc40887672a33350")
version("14.0.0", sha256="68eab77febdd0138a497249d854e1cb0c3a67b1c56c4d51f1fe35df12dcd1b9c")
version("13.1.0", sha256="ebda6ee5af858192dff8a7faf3125010001d5c439beec22afe5b9828a74adf1a")
version("13.0.0", sha256="1f6f6b403a8c1b22a27cdf2943c9e505825ee14866891e7bc944d4471b7b0321")
version("12.1.0", sha256="77948cf8e1f8bf8d238d475cea111c9a72b307cbf403cb429ef0426d0cf708a4")

View File

@@ -17,10 +17,12 @@ class SstMacro(AutotoolsPackage):
homepage = "https://github.com/sstsimulator"
git = "https://github.com/sstsimulator/sst-macro.git"
url = "https://github.com/sstsimulator/sst-macro/releases/download/v13.1.0_Final/sstmacro-13.1.0.tar.gz"
url = "https://github.com/sstsimulator/sst-macro/releases/download/v14.1.0_Final/sstmacro-14.1.0.tar.gz"
maintainers("berquist")
version("14.1.0", sha256="241f42f5c460b0e7462592a7f412bda9c9de19ad7a4b62c22f35be4093b57014")
version("14.0.0", sha256="3962942268dd9fe6ebd4462e2d6d305ab757f3f510487e84687146a8d461be13")
version("13.1.0", sha256="022e39daae1067b56c0011dbe87e3234fee4587049fd53671e1ed6b23233f70e")
version("13.0.0", sha256="410dad4ac0c7a4c0e16c54da308b6c6b631112af18ae2c37585c8a14472987d4")
version("12.1.0", sha256="ee57e08acfd4b6429a0500d981d468ee6ded2638ec5abec7b47f172388b267f1")

View File

@@ -12,7 +12,7 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
interpolation as well as parameter calibration."""
homepage = "https://ornl.github.io/TASMANIAN/stable/"
url = "https://github.com/ORNL/TASMANIAN/archive/v8.0.tar.gz"
url = "https://github.com/ORNL/TASMANIAN/archive/v8.1.tar.gz"
git = "https://github.com/ORNL/TASMANIAN.git"
tags = ["e4s"]
@@ -22,15 +22,15 @@ class Tasmanian(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="master")
version("8.1", sha256="e870d26ebe9e5038a8bb75710e47a66f3040c5ad34d03c2fc993b984240d247b")
version("8.0", sha256="248c941346150bf6cfb386ba86b69bd4697f4fc93bff0e8d5f57e555614fd534")
version("7.9", sha256="decba62e6bbccf1bc26c6e773a8d4fd51d7f3e3e534ddd386ec41300694ce5cc")
version("7.7", sha256="85fb3a7b302ea21a3b700712767a59a623d9ab93da03308fa47d4413654c3878")
version("7.5", sha256="d621bd36dced4db86ef638693ba89b336762e7a3d7fedb3b5bcefb03390712b3")
# Tasmanian is backwards compatible, no need to use 7.3 from back in 2020
# when adding a new version, deprecate an old one, this gives us 3 - 4 years of support
version(
"7.3",
sha256="5bd1dd89cc5c84506f6900b6569b17e50becd73eb31ec85cfa11d6f1f912c4fa",
"7.5",
sha256="d621bd36dced4db86ef638693ba89b336762e7a3d7fedb3b5bcefb03390712b3",
deprecated=True,
)

View File

@@ -68,7 +68,7 @@ class W3m(AutotoolsPackage):
values=("gdk-pixbuf", "imlib2"),
multi=False,
)
depends_on("gdk-pixbuf@2:+x11", when="imagelib=gdk-pixbuf +image")
depends_on("gdk-pixbuf@2:", when="imagelib=gdk-pixbuf +image")
depends_on("imlib2@1.0.5:", when="imagelib=imlib2 +image")
# fix for modern libraries