diff options
author | Robert Underwood <robertu94@users.noreply.github.com> | 2024-05-20 20:12:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-20 18:12:00 -0600 |
commit | a94ebfea1166fd5926332a165132ffcbf8fef4af (patch) | |
tree | e17fb67153a49938da9bf25210c1900c1f460082 | |
parent | 8f5fe1d123881cd4eaf815f541f7f60d5f14611b (diff) | |
download | spack-a94ebfea1166fd5926332a165132ffcbf8fef4af.tar.gz spack-a94ebfea1166fd5926332a165132ffcbf8fef4af.tar.bz2 spack-a94ebfea1166fd5926332a165132ffcbf8fef4af.tar.xz spack-a94ebfea1166fd5926332a165132ffcbf8fef4af.zip |
libpressio update (#44076)
* libpressio update
* fix typos in libpressio packages
* Addressed review feedback from @tldahlgren
* fix ci issues
* add missing package for SZx
* simplify varient logic and fix GPU deps
* Update var/spack/repos/builtin/packages/py-langsmith/package.py
---------
Co-authored-by: Robert Underwood <runderwood@anl.gov>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
24 files changed, 518 insertions, 107 deletions
diff --git a/var/spack/repos/builtin/packages/cusz/package.py b/var/spack/repos/builtin/packages/cusz/package.py index 666aec3f33..9937734144 100644 --- a/var/spack/repos/builtin/packages/cusz/package.py +++ b/var/spack/repos/builtin/packages/cusz/package.py @@ -20,6 +20,7 @@ class Cusz(CMakePackage, CudaPackage): conflicts("cuda_arch=none", when="+cuda") version("develop", branch="develop") + version("0.6.0", commit="cafed521dc338fe2159ebb5b09a36fc318524bf7") version("0.3.1", commit="02be3cbd07db467decaf45ec9eb593ba6173c809") version("0.3", sha256="0feb4f7fd64879fe147624dd5ad164adf3983f79b2e0383d35724f8d185dcb11") diff --git a/var/spack/repos/builtin/packages/dctz/package.py b/var/spack/repos/builtin/packages/dctz/package.py new file mode 100755 index 0000000000..0795f06277 --- /dev/null +++ b/var/spack/repos/builtin/packages/dctz/package.py @@ -0,0 +1,36 @@ +# 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 Dctz(CMakePackage): + """DCTZ is a compressor based on FFTs""" + + homepage = "https://github.com/swson/DCTZ" + url = "https://github.com/robertu94/DCTZ/archive/refs/tags/0.2.2.tar.gz" + git = "https://github.com/robertu94/DCTZ" + + maintainers("robertu94") + + license("MIT", checked_by="robertu94") + + version("0.2.2", sha256="5d270199b93e81704292ad87787ce961b458865c6a60ef7da59d5073513f6cff") + + variant("shared", description="build a shared library", default=True) + variant("libpressio", description="use libpressio support", default=True) + + depends_on("pkgconfig", type="build") + depends_on("zlib") + depends_on("fftw@3:") + depends_on("libpressio@0.0.99:", when="+libpressio") + depends_on("libstdcompat@0.0.21:", when="+libpressio") + + def cmake_args(self): + args = [ + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("DCTZ_HAVE_LIBPRESSIO", "libpressio"), + ] + return args diff --git a/var/spack/repos/builtin/packages/lc-framework/package.py b/var/spack/repos/builtin/packages/lc-framework/package.py new file mode 100644 index 0000000000..aa69d8304a --- /dev/null +++ b/var/spack/repos/builtin/packages/lc-framework/package.py @@ -0,0 +1,48 @@ +# 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 * + + +def try_le(x, y): + try: + return int(x) < y + except ValueError: + False + + +class LcFramework(CMakePackage, CudaPackage): + """a framework for automatically creating high-speed lossless and + error-bounded lossy data compression and decompression algorithms.""" + + homepage = "https://userweb.cs.txstate.edu/~burtscher/LC/" + url = "https://github.com/robertu94/LC-framework/archive/refs/tags/1.1.1.tar.gz" + git = "https://github.com/robertu94/LC-framework" + + maintainers("robertu94") + + version("1.2.2", sha256="957c5da99bca4cfe125486c11b4b7dc6e38f9a158261aff3cd545e47ad9894a6") + version("1.2.1", commit="98102fdaf443c968ab1bea5f006060b1e4f2d0e7") + version("1.2.0", commit="2d0f39a927c3487551e4f3c786c3799cada1e203") + version("1.1.2", sha256="5ccbeaf8e2ef93894854406054210c8525055d195b39e2f141b4f81175fe2815") + + variant("libpressio", description="build a libpressio plugin for LC", default=False) + conflicts("+cuda", when="@:1.2.1") + for sm in [i for i in CudaPackage.cuda_arch_values if try_le(i, 60)]: + conflicts( + "cuda_arch={sm}".format(sm=sm), when="+cuda", msg="cuda_arch 60 or newer is required" + ) + + depends_on("python", type=("build",)) + depends_on("libpressio@0.98.0:", when="+libpressio") + depends_on("libpressio+cuda", when="+cuda+libpressio") + + def cmake_args(self): + args = [self.define_from_variant("LC_BUILD_LIBPRESSIO_PLUGIN", "libpressio")] + if "+cuda" in self.spec: + args.append(self.define_from_variant("LC_BUILD_CUDA", "cuda")) + args.append(self.builder.define_cuda_architectures(self)) + + return args diff --git a/var/spack/repos/builtin/packages/libdistributed/package.py b/var/spack/repos/builtin/packages/libdistributed/package.py index 83d5aab986..72fea1afd1 100644 --- a/var/spack/repos/builtin/packages/libdistributed/package.py +++ b/var/spack/repos/builtin/packages/libdistributed/package.py @@ -17,6 +17,7 @@ class Libdistributed(CMakePackage): maintainers("robertu94") version("master", branch="master") + version("0.4.3", sha256="fbfb473ab6da18880d64a36cf2134c18938a57fe958b822606927b2132783c0d") version("0.4.2", sha256="ffb5e0aea2cd5ccbd7af2471059d6e70fa5ac2d6ce64fb71c6d434544c01be95") version("0.4.1", sha256="62bbd4cbaf396cea7f33d62d5e79086a56ee1396d070ad3c4fd9720c50d242c0") version("0.4.0", sha256="7895d268c4f9b5444e4378f60b5a28198720bc48633d0e5d072c39e3366b096c") diff --git a/var/spack/repos/builtin/packages/libpressio-adios1/package.py b/var/spack/repos/builtin/packages/libpressio-adios1/package.py new file mode 100644 index 0000000000..05a8f4ab65 --- /dev/null +++ b/var/spack/repos/builtin/packages/libpressio-adios1/package.py @@ -0,0 +1,24 @@ +# 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 LibpressioAdios1(CMakePackage): + """LibPressio file reader for legacy ADIOS1 files not supported by ADIOS2""" + + homepage = "https://github.com/robertu94/libpressio-adios1" + url = "https://github.com/robertu94/libpressio-adios1/archive/refs/tags/0.0.1.tar.gz" + git = "https://github.com/robertu94/libpressio-adios1" + + maintainers("robertu94") + + version("0.0.2", sha256="cb3c4ef3c9c3bd5f4c08d1145a07d2ce0c84605a2213b744992c6c8cef998d39") + + depends_on("adios") + depends_on("libpressio") + + def cmake_args(self): + args = ["-DCMAKE_MODULE_PATH={}".format(self.spec["adios"].prefix.etc)] + return args diff --git a/var/spack/repos/builtin/packages/libpressio-adios2/package.py b/var/spack/repos/builtin/packages/libpressio-adios2/package.py index d4aefcbb85..46a3405606 100644 --- a/var/spack/repos/builtin/packages/libpressio-adios2/package.py +++ b/var/spack/repos/builtin/packages/libpressio-adios2/package.py @@ -14,9 +14,11 @@ class LibpressioAdios2(CMakePackage): maintainers("robertu94") + version("0.0.3", sha256="ca6a90dae1070f3ffe5c89b25966eb3142cb62820144e19ab4fd5b980531ba3b") version("0.0.2", sha256="8ab4b5a0dd8038d52f54aa9b5a67b83a8f7cd096db4c5a413fe0c6caf678e402") version("0.0.1", sha256="ab9c7e26114e8d81f8ad8aca703855079cd3441f9b72e01d9b4aeb0c57ce0746") + depends_on("libpressio@0.99.4:+mpi", when="@0.0.3:") depends_on("libpressio@0.85.0:+mpi", when="@0.0.2") depends_on("libpressio@0.60.0:+mpi") depends_on("adios2@2.8.0:+mpi") diff --git a/var/spack/repos/builtin/packages/libpressio-dataset/package.py b/var/spack/repos/builtin/packages/libpressio-dataset/package.py new file mode 100644 index 0000000000..8f42ba172e --- /dev/null +++ b/var/spack/repos/builtin/packages/libpressio-dataset/package.py @@ -0,0 +1,41 @@ +# 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 LibpressioDataset(CMakePackage): + """A set of libraries for LibPressio to easily load datasets""" + + homepage = "https://github.com/robertu94/libpressio_dataset" + url = "https://github.com/robertu94/libpressio_dataset/archive/refs/tags/0.0.2.tar.gz" + git = "https://github.com/robertu94/libpressio_dataset" + + maintainers = ["robertu94"] + + version("0.0.9", sha256="743edf3bda7a174ed9953388b7975d463384001b9c6e04d07e7adc8012d10f5a") + version("0.0.8", sha256="5e0adac22b8c96f26b93e253bb9d30623bf357da608c10bddad3871c4e9dbe17") + version("0.0.7", sha256="203b36b337d23b789658162ecc024d7acf60fbff2fdc5b946c0854998e03e7bf") + version("0.0.6", sha256="24c07ac329714587d0778e6a2bf598aa8005de374595c36180de81ab020d55fc") + version("0.0.5", sha256="07906545207831515ad7ce1ad99994887f458c2e2f422fd5ea7569a5b0d072ad") + version("0.0.4", sha256="ff65e9c45fac607c7e48d305694c79996a1eb20c409ca3e1af59aad0c6e16f57") + version("0.0.3", sha256="b821bd880159c93fe5a960f4b51927a3963b1f0d2b91dc2f6c4655d644e8a28b") + version("0.0.2", sha256="b5d62260cc596a6239a721bda12293bce34f86266c203a573d3afa8fe0876c2f") + + variant("hdf5", default=False, description="add support for hdf5") + variant("shared", default=True, description="build shared libaries") + + depends_on("libpressio@0.99.4:", when="@0.0.9:") + depends_on("libpressio@0.93.0:", when="@0.0.3:0.0.8") + depends_on("libpressio@0.91.1:", when="@:0.0.2") + depends_on("hdf5", when="+hdf5") + + def cmake_args(self): + args = [ + self.define("BUILD_TESTING", self.run_tests), + self.define_from_variant("LIBPRESSIO_DATASET_HAS_HDF5", "hdf5"), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + ] + return args diff --git a/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py index 8ed53ad670..d200b01371 100644 --- a/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py +++ b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py @@ -14,11 +14,13 @@ class LibpressioErrorinjector(CMakePackage): maintainers("robertu94") + version("0.9.0", commit="7042a11ca94f2027e60e5824c7c72c7e9a07f80f") version("0.8.0", commit="0bfac9a06b1ae34a872b8b599dd4ccb46aa2db4e") version("0.7.0", commit="0b5a5b15121be248a3e5af925f9ad88b3d43fef6") - depends_on("libpressio@0.88.0:", when="@0.8.0:") - depends_on("libpressio@:0.87.0", when="@:0.7.0") + depends_on("libpressio@0.99.4:", when="@0.9.0:") + depends_on("libpressio@0.88.0:", when="@0.8.0") + depends_on("libpressio@:0.87.0", when="@0.7.0") def cmake_args(self): args = ["-DBUILD_TESTING=OFF"] diff --git a/var/spack/repos/builtin/packages/libpressio-jit/package.py b/var/spack/repos/builtin/packages/libpressio-jit/package.py new file mode 100755 index 0000000000..7db39146dc --- /dev/null +++ b/var/spack/repos/builtin/packages/libpressio-jit/package.py @@ -0,0 +1,28 @@ +# 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 LibpressioJit(CMakePackage): + """the FZ module compiler""" + + homepage = "https://github.com/robertu94/libpressio_jit" + url = "https://github.com/robertu94/libpressio_jit/archive/refs/tags/0.0.1.tar.gz" + git = "https://github.com/robertu94/libpressio_jit" + + maintainers("robertu94") + license("BSD-4-Clause", checked_by="robertu94") + + version("0.0.1", sha256="6aa771c624980589cc941e8cfca1c5fb6cea3fef2b060f58bfdf07109eda8c08") + + variant("poorjit", description="include the prototype poorjit compiler", default=True) + + depends_on("poorjit", when="+poorjit") + depends_on("libpressio@0.99.1:") + + def cmake_args(self): + args = [self.define_from_variant("LIBPRESSIO_JIT_HAS_POORJIT", "poorjit")] + return args diff --git a/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py index d496bff18d..4c41b7082e 100644 --- a/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py +++ b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py @@ -15,12 +15,16 @@ class LibpressioNvcomp(CMakePackage, CudaPackage): maintainers("robertu94") + version("0.0.6", sha256="19ecc090b32ec77ddbdf6a3f1f823cf19c32bd8c08b0acb0f87c740961a1d9b4") version("0.0.5", sha256="2f2a2567c77db550badaf594cda824fa313470b143f69bcef308eeb80b4876c2") version("0.0.4", sha256="6ff7d0f3167dead7584c994a6a11782f20eb3dd4844307e4ee8b2aebcd8571e9") version("0.0.3", sha256="21409d34f9281bfd7b83b74f5f8fc6d34794f3161391405538c060fb59534597") version("0.0.2", commit="38d7aa7c283681cbe5b7f17b900f72f9f25be51c") depends_on("nvcomp@2.2.0:", when="@0.0.3:") + depends_on("libpressio+cuda") + depends_on("libpressio@0.99.4:", when="@0.0.6:") + depends_on("libpressio@0.89.0:", when="@0.0.3:0.0.5") depends_on("libpressio@0.88.0:", when="@:0.0.2") conflicts("~cuda") diff --git a/var/spack/repos/builtin/packages/libpressio-opt/package.py b/var/spack/repos/builtin/packages/libpressio-opt/package.py index 07c4f3b03d..21ab2fb6c3 100644 --- a/var/spack/repos/builtin/packages/libpressio-opt/package.py +++ b/var/spack/repos/builtin/packages/libpressio-opt/package.py @@ -17,6 +17,7 @@ class LibpressioOpt(CMakePackage): version("develop", branch="develop") version("sdr-develop", branch="develop", git="git@github.com:szcompressor/SDRFramework") + version("0.15.4", sha256="43ff4a13300eb0812066b193f0883295156c85a5980f225e739f95f029c77f92") version("0.15.0", sha256="0f092ae287e555c890d0ab77df83a7acf619a2b05ab104cef8647df4f886d759") version("0.14.0", sha256="1e8d348f9777f3d49764b22b1f2abefd4b972cb9b1fa27c867373d32c8f1c57d") version("0.13.5", sha256="cc0e6a46335aa3552b8ab57757d39855f4fba71e661f706ec99519cb2c8a2f3c") @@ -30,6 +31,7 @@ class LibpressioOpt(CMakePackage): version("0.11.0", sha256="cebbc512fcaa537d2af1a6919d6e0400cdc13595d71d9b90b74ad3eb865c9767") depends_on("libpressio+libdistributed+mpi") + depends_on("libpressio@0.99.4:", when="@0.15.4:") depends_on("libpressio@0.93.0:", when="@0.14.0:") depends_on("libpressio@0.95.0:", when="@0.15.0:") depends_on("libpressio@0.88.0:", when="@0.13.5:") diff --git a/var/spack/repos/builtin/packages/libpressio-predict/package.py b/var/spack/repos/builtin/packages/libpressio-predict/package.py new file mode 100644 index 0000000000..bb36f57c3a --- /dev/null +++ b/var/spack/repos/builtin/packages/libpressio-predict/package.py @@ -0,0 +1,64 @@ +# 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 LibpressioPredict(CMakePackage): + """High Fidelity Proxy Models for Compression""" + + homepage = "https://github.com/robertu94/libpressio-predict" + url = "https://github.com/robertu94/libpressio-predict/archive/refs/tags/0.0.0.tar.gz" + git = "https://github.com/robertu94/libpressio-predict" + + maintainers("robertu94") + + version("0.0.4", sha256="50131183196ba6476a887ee7ffeface3cbb368da24fab2f8c6352c1f891f8c1b") + version("0.0.3", sha256="dc2b97f58ba3ec5a86f93a4085ebb45521edb0347cb90a4ae68283de16e3c526") + version("0.0.2", sha256="02323e03c832cd1f116136347c6b2b52e5c04485fcd57aeb588b6f1923c62a60") + version("0.0.0", sha256="b3c08be05e3b49542929e4d3849c232d1343c66c9f785b312bb37196dc530035") + + variant("bin", default=True, description="build the command line tools") + variant("shared", default=True, description="build shared libaries") + + depends_on("libpressio-tools@0.4.2:", when="@:0.0.3") + depends_on("libpressio@0.96.3:", when="@:0.0.2") + depends_on("libpressio@0.96.5:", when="@0.0.3:") + depends_on("libpressio-dataset@0.0.7:", when="@0.0.3:") + depends_on("libpressio-dataset@0.0.6:", when="@0.0.2") + with when("@0.0.3:"): + variant("khan2023", description="build support for secde from khan2023", default=False) + variant("rahman2023", description="build support for secde from rahman2023", default=False) + variant("sian2022", description="build support for secde from sian2022", default=False) + variant( + "python", description="build support for python fit/predict methods", default=False + ) + with when("+python"): + depends_on("libpressio+pybind") + with when("+rahman2023"): + conflicts("~python") + with when("+khan2023"): + depends_on("libpressio+sz3+zfp") + depends_on("sz3") + depends_on("zfp") + with when("+sian2022"): + depends_on("libpressio+sz3") + depends_on("sz3") + with when("+bin"): + depends_on("libpressio+libdistributed+json+remote+mpi+openssl") + depends_on("libdistributed@0.4.3:") + depends_on("mpi") + depends_on("sqlite@3.38:+dynamic_extensions") + depends_on("libpressio-dataset@0.0.5", when="@0.0.0") + + def cmake_args(self): + args = [ + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("LIBPRESSIO_PREDICT_BUILD_TOOLS", "bin"), + self.define_from_variant("LIBPRESSIO_PREDICT_HAS_PYTHON", "python"), + self.define_from_variant("LIBPRESSIO_PREDICT_HAS_SIAN2022", "sian2022"), + self.define_from_variant("LIBPRESSIO_PREDICT_HAS_KHAN2023", "khan2023"), + self.define("LIBPRESSIO_PREDICT_USE_MPI", self.spec.satisfies("^ mpi")), + ] + return args diff --git a/var/spack/repos/builtin/packages/libpressio-rmetric/package.py b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py index a024871bae..722fd0aa55 100644 --- a/var/spack/repos/builtin/packages/libpressio-rmetric/package.py +++ b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py @@ -17,13 +17,15 @@ class LibpressioRmetric(CMakePackage): version("master", branch="master") # note versions <= 0.0.3 do not build with spack + version("0.0.8", sha256="246d98c80f1011819bdac2893035d7914b40d328aae2d50b3608a178406f95d9") version("0.0.7", sha256="b01df5102076412064849335c2c928a4a5ba23e1f1f515062d9166b0a7531179") version("0.0.6", sha256="b23a79448cd32b51a7301d6cebf4e228289712dd77dd76d86821741467e9af46") version("0.0.5", sha256="51eb192314ef083790dd0779864cab527845bd8de699b3a33cd065c248eae24c") version("0.0.4", sha256="166af5e84d7156c828a3f0dcc5bf531793ea4ec44bbf468184fbab96e1f0a91f") version("0.0.3", sha256="c45948f83854c87748c7ec828ca2f06d7cf6f98a34f763b68c13a4e2deb7fd79") - depends_on("libpressio@0.88.0:", when="@0.0.5:") + depends_on("libpressio@0.99.4:", when="@0.0.8:") + depends_on("libpressio@0.88.0:", when="@0.0.5:0.0.7") depends_on("libpressio@0.85.0:", when="@:0.0.4") depends_on("r") depends_on("r-rcpp") diff --git a/var/spack/repos/builtin/packages/libpressio-sperr/package.py b/var/spack/repos/builtin/packages/libpressio-sperr/package.py index 193ac86737..4c0f62a27d 100644 --- a/var/spack/repos/builtin/packages/libpressio-sperr/package.py +++ b/var/spack/repos/builtin/packages/libpressio-sperr/package.py @@ -18,12 +18,14 @@ class LibpressioSperr(CMakePackage): license("GPL-3.0-only") version("master", branch="master") + version("0.0.5", sha256="8fda62ad923b4229b9a434d5f9197010e396e972ffb9e29c2e7783ec14fdc324") version("0.0.4", sha256="97f2879460b1a28ed8ebf0c300c1cf7ceeb2c7aa7b8a1307ed19bf8cce0b7941") version("0.0.3", sha256="e0d1fd083419aaaa243cbf780b7de17aeb96533000071088aa21ec238d358ecc") version("0.0.2", sha256="61995d687f9e7e798e17ec7238d19d917890dc0ff5dec18293b840c4d6f8c115") version("0.0.1", sha256="e2c164822708624b97654046b42abff704594cba6537d6d0646d485bdf2d03ca") - depends_on("libpressio@0.88.0:", when="@0.0.3:") + depends_on("libpressio@0.99.4:", when="@0.0.5:") + depends_on("libpressio@0.88.0:", when="@0.0.3:0.0.4") depends_on("libpressio@:0.88.0", when="@:0.0.2") depends_on("sperr@:0.6.2", when="@:0.0.3") depends_on("sperr@0.7.1:", when="@0.0.4:") diff --git a/var/spack/repos/builtin/packages/libpressio-tools/package.py b/var/spack/repos/builtin/packages/libpressio-tools/package.py index a72f1b4c8b..cb6e353ee7 100644 --- a/var/spack/repos/builtin/packages/libpressio-tools/package.py +++ b/var/spack/repos/builtin/packages/libpressio-tools/package.py @@ -9,14 +9,18 @@ from spack.package import * class LibpressioTools(CMakePackage): """General Utilities for LibPressio""" - homepage = "https://github.com/robertu94/pressio-tools" - url = "https://github.com/robertu94/pressio-tools/archive/refs/tags/0.0.15.tar.gz" + url = "https://github.com/robertu94/pressio-tools/archive/refs/tags/0.4.7.tar.gz" git = "https://github.com/robertu94/pressio-tools" + homepage = "https://github.com/robertu94/pressio-tools" maintainers("robertu94") tags = ["e4s"] - version("master", branch="master") + version("0.4.7", sha256="02052025529bcae6125bbcb6c1513776f06164324379d936175fc574188d4d7c") + version("0.4.6", sha256="b1253d49bd16669c41332146e3c441f5a6363cad73262e91a945831ec2bc76e0") + version("0.4.5", sha256="4f296e4b31f6880f388cb95823864f2c76244e40bb6a94d7918234d189f799ed") + version("0.4.4", sha256="edbff72b0dba11b145b4d61d507b869ef976c5a8941afb817a533b923a9d7a41") + version("0.4.3", sha256="2122e2c5212325a54bb6a80f4b7fb56060a1d2d0fa5733ac5757109ea892c9f9") version("0.3.0", sha256="2f309557df3e8df9e492691213933865a5dbfb051c03404e33918f4765223025") version("0.2.0", sha256="75048950f0dfa0e20f2651991875822f36fceb84bdda12d1c0361d49912392b8") version("0.1.6", sha256="a67a364f46dea29ff1b3e5c52c0a5abf2d9d53412fb8d424f6bd71252bfa7792") @@ -37,6 +41,14 @@ class LibpressioTools(CMakePackage): version("0.0.16", sha256="1299e441fb15666d1c8abfd40f3f52b1bf55b6bfda4bfcc71177eec37160a95e") version("0.0.15", sha256="bcdf865d77969a34e2d747034ceeccf5cb766a4c11bcc856630d837f442ee33e") + depends_on("libpressio-adios1@0.0.2:", when="+adios1") + depends_on("lc-framework@1.1.1:+libpressio", when="+lc") + + depends_on("dctz@0.2.2:+libpressio", when="+dctz") + depends_on("libpressio-predict@0.0.4:", when="+predict") + depends_on("libpressio-dataset@0.0.8:", when="+dataset") + depends_on("libpressio-jit@0.0.1:", when="+jit") + depends_on("mpi", when="+mpi") depends_on("libpressio+libdistributed+mpi", when="+mpi") depends_on("libpressio", when="~mpi") @@ -73,29 +85,31 @@ class LibpressioTools(CMakePackage): variant("adios2", default=False, description="depend on ADIOS2 for IO modules") variant("sperr", default=False, description="depend on sperr", when="@0.1.2:") variant("nvcomp", default=False, description="depend on nvcomp", when="@0.1.0:") - conflicts("+opt", "~mpi") + variant("adios1", default=False, description="depend on adios1", when="@0.4.3:") + variant("lc", default=False, description="depend on lc", when="@0.4.4:") + variant("dctz", default=False, description="depend on dctz", when="@0.4.5:") + variant("dataset", default=False, description="depend on libpressio-dataset", when="@0.4.6:") + variant("predict", default=False, description="depend on libpressio-predict", when="@0.4.6:") + variant("jit", default=False, description="depend on libpressio-jit", when="@0.4.6:") + conflicts("+opt", when="~mpi", msg="opt support requires MPI") def cmake_args(self): - args = [] - if "+mpi" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_MPI=YES") - if "+opt" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_OPT=YES") - if "+error_injector" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_ERROR_INJECTOR=YES") - if "+tthresh" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_TTHRESH=YES") - if "+rcpp" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_RMETRIC=YES") - if "+sperr" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_SPERR=YES") - if "+nvcomp" in self.spec: - args.append("-DLIBPRESSIO_TOOLS_HAS_NVCOMP=YES") - if self.run_tests: - args.append("-DBUILD_TESTING=ON") - else: - args.append("-DBUILD_TESTING=OFF") - + args = [ + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_MPI", "mpi"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_OPT", "opt"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_ERROR_INJECTOR", "error_injector"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_TTHRESH", "tthresh"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_RMETRIC", "rcpp"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_SPERR", "sperr"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_NVCOMP", "nvcomp"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_DCTZ", "dctz"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_ADIOS1", "adios1"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_LC", "lc"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_PREDICT", "predict"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_JIT", "jit"), + self.define_from_variant("LIBPRESSIO_TOOLS_HAS_DATASET", "dataset"), + self.define("BUILD_TESTING", self.run_tests), + ] return args @run_after("build") diff --git a/var/spack/repos/builtin/packages/libpressio-tthresh/package.py b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py index c37bcb8ede..8a1d0392d1 100644 --- a/var/spack/repos/builtin/packages/libpressio-tthresh/package.py +++ b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py @@ -18,6 +18,7 @@ class LibpressioTthresh(CMakePackage): license("LGPL-3.0-or-later") version("main", branch="main") + version("0.0.8", sha256="c6590a965b0ff3e97db1bab8ddb6e552ad4f8142623d02323dc9598da9052309") version("0.0.7", sha256="5e364ef72dd1ed1cf786d2b7aef89624fdcf1a0ca845777ce54c365b35a75be2") version("0.0.6", sha256="e9dc4754421d892a86516c6bb892f6ff582e9ea3c242c1c052104e4f6944cbec") version("0.0.5", sha256="af47c90e9c16825312e390a7fb30d9d128847afb69ad6c2f6608bd80f60bae23") @@ -25,6 +26,7 @@ class LibpressioTthresh(CMakePackage): version("0.0.1", sha256="9efcfa97a5a81e9c456f50b712adb806d9d2f2ed6039860615df0f2e9d96569e") depends_on("eigen") + depends_on("libpressio@0.99.4:", when="@0.0.8:") depends_on("libpressio@0.85.0:", when="@:0.0.5") depends_on("libpressio@0.88.0:", when="@0.0.6:") diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py index f1828bcf51..f0a7b68316 100644 --- a/var/spack/repos/builtin/packages/libpressio/package.py +++ b/var/spack/repos/builtin/packages/libpressio/package.py @@ -20,6 +20,21 @@ class Libpressio(CMakePackage, CudaPackage): tests_require_compiler = True version("master", branch="master") version("develop", branch="develop") + version("0.99.4", sha256="091e4bac2cedca5fb9495a22eee7be718c2d04d899d56c65fc088936884eac0e") + version("0.99.2", sha256="556d157097b2168fefde1fe3b5e2da06a952346357d46c55548d92c77d1da878") + version("0.99.1", sha256="c9b19deaac4df5eaeecd938fea4c1752d86474f453880c0ba984ceee6bf15d35") + version("0.99.0", sha256="b95916c4851a7ec952e5f29284e4f7477eaeff0e52a2e5b593481c72edf733d6") + version("0.98.1", sha256="5246271fdf2e4ba99eeadfccd6224b75bf3af278a812ded74ec9adc11f6cabba") + version("0.98.0", sha256="6b6507bf1489ff2cbeaf4c507d34e1015495c811730aa809e778f111213062db") + version("0.97.3", sha256="631111253ec4cfd3138773eaf8280921e220b0d260985da762f0a0152e5b1b17") + version("0.97.2", sha256="70d549ef457d5192c084fbf6304cb362d367786afe88d7b8db4eea263f9c7d43") + version("0.96.6", sha256="a8d3269f0f5289d46471a5b85e5cd32e370edb8df45d04f5e707e0a1f64eccd8") + version("0.96.5", sha256="7cca6f3f98dde2dbd1c9ff7462d09975f6a3630704bd01b6bef6163418a0521b") + version("0.96.4", sha256="7f012b01ce1a6c9f5897487089266de5b60659ed6b220eadba51d63613620404") + version("0.96.3", sha256="e8f4af028d34df2f3c8eb61cfc2f93fadab7a2e2d072a30ee6a085fb344a3be4") + version("0.96.2", sha256="2c904ec16900b67ab0188ea96d27fa4efca2c9efc1b214119451becaaeaa2d18") + version("0.96.1", sha256="2305d04b57c1b49ecd5a4bda117f1252a57529c98e6bd260bfe5166a4f4d4043") + version("0.96.0", sha256="42f563b70c4f77abffb430284f0c5bc9adba2666412ee4072d6f97da88f0c1a0") version("0.95.1", sha256="c2e4f81d1491781cd47f2baba64acfbba9a7d6203c9b01369f8b1a8f94e0bb2b") version("0.94.0", sha256="4250597cdd54043a7d5009ffc3feea3eac9496cdd38ea3f61f9727b7acd09add") version("0.93.0", sha256="1da5940aaf0190a810988dcd8f415b9c8db53bbbdfcb627d899921c89170d990") @@ -159,6 +174,16 @@ class Libpressio(CMakePackage, CudaPackage): version("0.27.0", sha256="387ee5958de2d986095cda2aaf39d0bf319d02eaeeea2a565aea97e6a6f31f36") version("0.26.0", sha256="c451591d106d1671c9ddbb5c304979dd2d083e0616b2aeede62e7a6b568f828c") + variant( + "pybind", default=False, description="build support for pybind metrics", when="@0.96.0:" + ) + variant( + "openssl", default=False, description="build support for hashing options", when="@0.96.2:" + ) + variant("szx", default=False, description="build support for SZx", when="@0.87.0:") + variant("blosc2", default=False, description="build support for blosc2", when="@0.98.0:") + variant("matio", default=False, description="build support for matio", when="@0.99.0:") + variant("clang", default=False, description="build migration tools", when="@0.99.0:") variant("blosc", default=False, description="support the blosc lossless compressors") variant("fpzip", default=False, description="support for the FPZIP lossy compressor") variant("hdf5", default=False, description="support reading and writing from hdf5 files") @@ -206,6 +231,7 @@ class Libpressio(CMakePackage, CudaPackage): depends_on("boost", when="@:0.51.0+boost") depends_on("libstdcompat+boost", when="+boost") + depends_on("libstdcompat@0.0.16:", when="@0.93.0:") depends_on("libstdcompat@0.0.14:", when="@0.79.0:") depends_on("libstdcompat@0.0.13:", when="@0.73.0:") depends_on("libstdcompat@0.0.10:", when="@0.71.3:") @@ -253,106 +279,115 @@ class Libpressio(CMakePackage, CudaPackage): depends_on("arc", when="+arc") depends_on("netcdf-c", when="+netcdf") depends_on("mgardx", when="+mgardx") + depends_on("szx@:1.1.0", when="@0.87.0:0.97.1 +szx") + depends_on("szx@1.1.1:", when="@0.97.2: +szx") + depends_on("openssl", when="+openssl") + depends_on("py-pybind11", when="+pybind") + depends_on("matio+shared@1.5.17:", when="+matio") + depends_on("llvm@17: +clang", when="+clang") conflicts( "^ mgard@2022-11-18", when="@:0.88.3+mgard", msg="mgard@2022-11-18 is not supported before 0.89.0", ) conflicts( - "+mgardx", when="+szauto" - ) # SZ auto and MGARDx cause symbol conflicts with each other + "+mgardx", when="+szauto", msg="SZ auto and MGARDx cause symbol conflicts with each other" + ) conflicts( "~json", when="@0.57.0:+remote", msg="JSON support required for remote after version 0.57.0", ) + for cuda_compressor in ["cusz", "mgard", "zfp", "ndzip"]: + conflicts( + "~cuda+{pkg} ^ {pkg}+cuda".format(pkg=cuda_compressor), + msg="compiling a CUDA compressor without a CUDA support makes no sense", + ) depends_on("sz3", when="+sz3") + depends_on("sz3@3.1.8:", when="@0.98.1: +sz3") depends_on("bzip2", when="+bzip2") depends_on("qoz", when="+qoz") - depends_on("cusz", when="+cusz") + depends_on("cusz@0.6.0:", when="+cusz") extends("python", when="+python") + def lp_cxx_version(self): + try: + self.compiler.cxx20_flag + return "20" + except Exception: + pass + try: + self.compiler.cxx17_flag + return "17" + except Exception: + pass + try: + self.compiler.cxx14_flag + return "14" + except Exception: + pass + self.compiler.cxx11_flag + return "11" + def cmake_args(self): - args = [] + args = [ + self.define_from_variant("LIBPRESSIO_HAS_SZ", "sz"), + self.define_from_variant("LIBPRESSIO_HAS_SZx", "szx"), + self.define_from_variant("LIBPRESSIO_HAS_OPENSSL", "openssl"), + self.define_from_variant("LIBPRESSIO_HAS_PYTHON_LAUNCH", "pybind"), + self.define_from_variant("LIBPRESSIO_HAS_BLOSC2", "blosc2"), + self.define_from_variant("LIBPRESSIO_HAS_MATLABIO", "matio"), + self.define_from_variant("BUILD_MIGRATION_TOOLS", "clang"), + self.define_from_variant("LIBPRESSIO_HAS_SZ_AUTO", "szauto"), + self.define_from_variant("LIBPRESSIO_HAS_ZFP", "zfp"), + self.define_from_variant("LIBPRESSIO_HAS_FPZIP", "fpzip"), + self.define_from_variant("LIBPRESSIO_HAS_BLOSC", "blosc"), + self.define_from_variant("LIBPRESSIO_HAS_MAGICK", "magick"), + self.define_from_variant("LIBPRESSIO_HAS_MGARD", "mgard"), + self.define_from_variant("LIBPRESSIO_HAS_PETSC", "petsc"), + self.define_from_variant("LIBPRESSIO_HAS_MPI", "mpi"), + self.define_from_variant("LIBPRESSIO_HAS_LUA", "lua"), + self.define_from_variant("LIBPRESSIO_HAS_LIBDISTRIBUTED", "libdistributed"), + self.define_from_variant("LIBPRESSIO_HAS_FTK", "ftk"), + self.define_from_variant("LIBPRESSIO_HAS_BIT_GROOMING", "bitgrooming"), + self.define_from_variant("LIBPRESSIO_HAS_DIGIT_ROUNDING", "digitrounding"), + self.define_from_variant("LIBPRESSIO_HAS_OPENMP", "openmp"), + self.define_from_variant("LIBPRESSIO_HAS_REMOTELAUNCH", "remote"), + self.define_from_variant("LIBPRESSIO_HAS_JSON", "json"), + self.define_from_variant("LIBPRESSIO_HAS_LINUX", "unix"), + self.define_from_variant("LIBPRESSIO_HAS_NDZIP", "ndzip"), + self.define_from_variant("LIBPRESSIO_HAS_ARC", "arc"), + self.define_from_variant("LIBPRESSIO_HAS_NETCDF", "netcdf"), + self.define_from_variant("LIBPRESSIO_HAS_SZ3", "sz3"), + self.define_from_variant("LIBPRESSIO_HAS_MGARDx", "mgardx"), + self.define_from_variant("LIBPRESSIO_HAS_BZIP2", "bzip2"), + self.define_from_variant("LIBPRESSIO_HAS_QoZ", "qoz"), + self.define_from_variant("LIBPRESSIO_HAS_CUSZ", "cusz"), + self.define_from_variant("LIBPRESSIO_HAS_CUFILE", "cuda"), + self.define_from_variant("LIBPRESSIO_HAS_CUDA", "cuda"), + self.define_from_variant("LIBPRESSIO_HAS_HDF", "hdf5"), + self.define_from_variant("BUILD_DOCS", "docs"), + self.define_from_variant("LIBPRESSIO_INSTALL_DOCS", "docs"), + self.define_from_variant("BUILD_PYTHON_WRAPPER", "python"), + self.define("LIBPRESSIO_HAS_MPI4PY", self.spec.satisfies("+python +mpi")), + self.define("LIBPRESSIO_BUILD_MODE", "FULL" if "+core" in self.spec else "CORE"), + self.define("BUILD_TESTING", self.run_tests), + # this flag was removed in 0.52.0, we should deprecate and remove this + self.define( + "LIBPRESSIO_CXX_VERSION", "11" if "+boost" in self.spec else self.lp_cxx_version() + ), + ] + # if cuda is backed by the shim, we need to set these linker flags to + # avoid downstream linker errors + if self.spec.satisfies("+cusz +cuda"): + args.append("-DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined") + # libpressio needs to know where to install the python libraries if "+python" in self.spec: args.append("-DLIBPRESSIO_PYTHON_SITELIB={0}".format(python_platlib)) - args.append("-DBUILD_PYTHON_WRAPPER=ON") - if "+mpi" in self.spec: - args.append("-DLIBPRESSIO_HAS_MPI4PY=ON") + # help ensure that libpressio finds the correct HDF5 package if "+hdf5" in self.spec: - args.append("-DLIBPRESSIO_HAS_HDF=ON") args.append("-DHDF5_ROOT=" + self.spec["hdf5"].prefix) - if "+sz" in self.spec: - args.append("-DLIBPRESSIO_HAS_SZ=ON") - if "+szauto" in self.spec: - args.append("-DLIBPRESSIO_HAS_SZ_AUTO=ON") - if "+zfp" in self.spec: - args.append("-DLIBPRESSIO_HAS_ZFP=ON") - if "+fpzip" in self.spec: - args.append("-DLIBPRESSIO_HAS_FPZIP=ON") - if "+blosc" in self.spec: - args.append("-DLIBPRESSIO_HAS_BLOSC=ON") - if "+magick" in self.spec: - args.append("-DLIBPRESSIO_HAS_MAGICK=ON") - if "+mgard" in self.spec: - args.append("-DLIBPRESSIO_HAS_MGARD=ON") - if "+petsc" in self.spec: - args.append("-DLIBPRESSIO_HAS_PETSC=ON") - if "+boost" in self.spec: - args.append("-DLIBPRESSIO_CXX_VERSION=11") - if "+mpi" in self.spec: - args.append("-DLIBPRESSIO_HAS_MPI=ON") - if "+lua" in self.spec: - args.append("-DLIBPRESSIO_HAS_LUA=ON") - if "+libdistributed" in self.spec: - args.append("-DLIBPRESSIO_HAS_LIBDISTRIBUTED=ON") - if "+ftk" in self.spec: - args.append("-DLIBPRESSIO_HAS_FTK=ON") - if "+bitgrooming" in self.spec: - args.append("-DLIBPRESSIO_HAS_BIT_GROOMING=ON") - if "+digitrounding" in self.spec: - args.append("-DLIBPRESSIO_HAS_DIGIT_ROUNDING=ON") - if "+openmp" in self.spec: - args.append("-DLIBPRESSIO_HAS_OPENMP=ON") - if "+docs" in self.spec: - args.append("-DBUILD_DOCS=ON") - args.append("-DLIBPRESSIO_INSTALL_DOCS=ON") - if "+remote" in self.spec: - args.append("-DLIBPRESSIO_HAS_REMOTELAUNCH=ON") - if "+json" in self.spec: - args.append("-DLIBPRESSIO_HAS_JSON=ON") - if "+unix" in self.spec: - args.append("-DLIBPRESSIO_HAS_LINUX=ON") - if "+ndzip" in self.spec: - args.append("-DLIBPRESSIO_HAS_NDZIP=ON") - if "+arc" in self.spec: - args.append("-DLIBPRESSIO_HAS_ARC=ON") - if "+netcdf" in self.spec: - args.append("-DLIBPRESSIO_HAS_NETCDF=ON") - if "+sz3" in self.spec: - args.append("-DLIBPRESSIO_HAS_SZ3=ON") - if "+cuda" in self.spec: - args.append("-DLIBPRESSIO_HAS_CUFILE=ON") - args.append("-DLIBPRESSIO_HAS_CUDA=ON") - if "+mgardx" in self.spec: - args.append("-DLIBPRESSIO_HAS_MGARDx=ON") - if "+bzip2" in self.spec: - args.append("-DLIBPRESSIO_HAS_BZIP2=ON") - if "+qoz" in self.spec: - args.append("-DLIBPRESSIO_HAS_QoZ=ON") - if "+cusz" in self.spec: - args.append("-DLIBPRESSIO_HAS_CUSZ=ON") - if self.spec.satisfies("+cusz +cuda"): - args.append("-DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined") - if "+core" in self.spec: - args.append("-DLIBPRESSIO_BUILD_MODE=FULL") - else: - args.append("-DLIBPRESSIO_BUILD_MODE=CORE") - if self.run_tests: - args.append("-DBUILD_TESTING=ON") - else: - args.append("-DBUILD_TESTING=OFF") return args def setup_run_environment(self, env): diff --git a/var/spack/repos/builtin/packages/libstdcompat/package.py b/var/spack/repos/builtin/packages/libstdcompat/package.py index 279cd3367a..91c4a1f92e 100644 --- a/var/spack/repos/builtin/packages/libstdcompat/package.py +++ b/var/spack/repos/builtin/packages/libstdcompat/package.py @@ -16,6 +16,9 @@ class Libstdcompat(CMakePackage): maintainers("robertu94") version("master", branch="master") + version("0.0.21", sha256="67cfd57080a74752b4c239e031cc44734286589a89bb1cd51a8bd7039f87a3f3") + version("0.0.20", sha256="9fdc632eb135f57132953b512d8f9101e8eb4e6a88e6c3b838aaa9c51a2dbfd6") + version("0.0.19", sha256="584ee52b1f82671e5d8fde786c46aa7e98d30104674c6f4b75dbae8d83b13f21") version("0.0.17", sha256="8c8a3f2727dd28c51ab10e02a1114e39b683d6d9ea119d5c2a953f8c41d6bedd") version("0.0.16", sha256="1287251b694adb80210536ab6eb75c1ff2c4ed8b77023208a757ae27c9dae0bb") version("0.0.15", sha256="af374a8883a32d874f6cd18cce4e4344e32f9d60754be403a5ac7114feca2a28") @@ -36,7 +39,7 @@ class Libstdcompat(CMakePackage): variant( "cpp_compat", - values=("11", "14", "17", "20", "auto"), + values=("11", "14", "17", "20", "23", "auto"), default="auto", multi=False, description="version of the c++ standard to use and depend on", @@ -57,6 +60,17 @@ class Libstdcompat(CMakePackage): conflicts("cpp_compat=20", when="@:0.0.7") def max_cxx_version(self): + if self.spec.version >= Version("0.0.20"): + try: + self.compiler.cxx23_flag + return "23" + except Exception: + pass + try: + self.compiler.cxx20_flag + return "20" + except Exception: + pass try: self.compiler.cxx17_flag return "17" diff --git a/var/spack/repos/builtin/packages/poorjit/package.py b/var/spack/repos/builtin/packages/poorjit/package.py new file mode 100755 index 0000000000..4d19ddb1a7 --- /dev/null +++ b/var/spack/repos/builtin/packages/poorjit/package.py @@ -0,0 +1,28 @@ +# 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 Poorjit(CMakePackage): + """A poorman's JIT library""" + + homepage = "https://github.com/robertu94/poorjit" + url = "https://github.com/robertu94/poorjit/archive/refs/tags/0.0.2.tar.gz" + git = "https://github.com/robertu94/poorjit" + + maintainers("robertu94") + + license("BSD-4-Clause", checked_by="robertu94") + + version("0.0.2", sha256="d7d43ba3b343ac8a6b0fb4928d5882f64a8c13c6fccfc37e1a3f3cd581c2739a") + + depends_on("boost+filesystem") + depends_on("zlib") + depends_on("fmt") + + def cmake_args(self): + args = [] + return args diff --git a/var/spack/repos/builtin/packages/py-langsmith/package.py b/var/spack/repos/builtin/packages/py-langsmith/package.py index 2066c16a4a..c2f759c9a0 100644 --- a/var/spack/repos/builtin/packages/py-langsmith/package.py +++ b/var/spack/repos/builtin/packages/py-langsmith/package.py @@ -13,6 +13,11 @@ class PyLangsmith(PythonPackage): license("MIT") + version( + "0.1.1", + sha256="09df0c2ca9085105f97a4e4f281b083e312c99d162f3fe2b2d5eefd5c3692e60", + expand=False, + ) version("0.0.11", sha256="7c1be28257d6c7279c85f81e6d8359d1006af3b1238fc198d13ca75c8fe421c8") version("0.0.10", sha256="11e5db0d8e29ee5583cabd872eeece8ce50738737b1f52f316ac984f4a1a58c5") version("0.0.7", sha256="2f18e51cfd4e42f2b3cf00fa87e9d03012eb7269cdafd8e7c0cf7aa828dcc03e") diff --git a/var/spack/repos/builtin/packages/qoz/package.py b/var/spack/repos/builtin/packages/qoz/package.py index 2cf3db6dcb..a75dd22299 100644 --- a/var/spack/repos/builtin/packages/qoz/package.py +++ b/var/spack/repos/builtin/packages/qoz/package.py @@ -12,6 +12,8 @@ class Qoz(CMakePackage): git = "https://github.com/robertu94/QoZ" homepage = git + version("2023.11.07", commit="611369be4b1cc7a12eaae02600baf8d232d4caa5") + version("2023.03.09", commit="537f6a52a39396f9c05e16a12ab160d8dc8b9d56") version("2022.04.26", commit="d28a7a8c9f703075441b700202b8a1ee185ded00") version("2023.03.09", commit="537f6a52a39396f9c05e16a12ab160d8dc8b9d56") diff --git a/var/spack/repos/builtin/packages/sz/package.py b/var/spack/repos/builtin/packages/sz/package.py index 30c9faa74f..2edb20f56a 100644 --- a/var/spack/repos/builtin/packages/sz/package.py +++ b/var/spack/repos/builtin/packages/sz/package.py @@ -52,6 +52,8 @@ class Sz(CMakePackage, AutotoolsPackage): default="cmake", ) + variant("openmp", default=False, description="build the multithreaded version using openmp") + variant("examples", default=False, description="build examples") variant("python", default=False, description="builds the python wrapper") variant("netcdf", default=False, description="build the netcdf reader") variant("hdf5", default=False, description="build the hdf5 filter") @@ -201,6 +203,8 @@ class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): self.define_from_variant("BUILD_STATS", "stats"), self.define("BUILD_TESTS", self.pkg.run_tests), self.define_from_variant("BUILD_PYTHON_WRAPPER", "python"), + self.define_from_variant("BUILD_OPENMP", "openmp"), + self.define_from_variant("BUILD_SZ_EXAMPLES", "examples"), ] if "+python" in self.spec: diff --git a/var/spack/repos/builtin/packages/sz3/package.py b/var/spack/repos/builtin/packages/sz3/package.py index 9e94f34705..45e71061b4 100644 --- a/var/spack/repos/builtin/packages/sz3/package.py +++ b/var/spack/repos/builtin/packages/sz3/package.py @@ -16,6 +16,7 @@ class Sz3(CMakePackage): tags = ["e4s"] version("master") + version("3.1.8", commit="e308ebf8528c233286874b920c72c0a6c0218fb2") version("3.1.7", commit="c49fd17f2d908835c41000c1286c510046c0480e") version("3.1.5.4", commit="4c6ddf628f27d36b28d1bbda02174359cd05573d") version("3.1.5.1", commit="5736a63b917e439dd62248b4ff6234e96726af5d") diff --git a/var/spack/repos/builtin/packages/szx/package.py b/var/spack/repos/builtin/packages/szx/package.py new file mode 100644 index 0000000000..e02f8497cc --- /dev/null +++ b/var/spack/repos/builtin/packages/szx/package.py @@ -0,0 +1,49 @@ +# 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 Szx(CMakePackage, AutotoolsPackage, CudaPackage): + """An ultra fast error bounded compressor for scientific datasets""" + + homepage = "https://github.com/szcompressor/szx" + url = "https://github.com/szcompressor/SZx/archive/refs/tags/1.1.1.tar.gz" + git = "https://github.com/szcompressor/szx" + + maintainers = ["robertu94"] + + version("main", branch="main") + version("1.1.1", commit="b1609dde7702135b647fb92f91833fc84de2492e") + version("1.1.0", commit="194a9dc91ee8c46632f79de3c87a63ec29c52b26") + build_system( + conditional("cmake", when="@1.1.1:"), + conditional("autotools", when="@:1.1.0"), + default="cmake", + ) + + variant("cli", default=True, description="install the CLI", when="@1.1.1:") + variant("examples", default=False, description="install the examples", when="@1.1.1:") + conflicts("+cuda", when="@:1.1.0") + + with when("build_system=autotools"): + depends_on("autoconf", type="build") + depends_on("automake", type="build") + depends_on("libtool", type="build") + + class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder): + force_autoreconf = True + + def configure_args(self): + args = ["--enable-openmp", "--enable-fortran"] + return args + + class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): + def cmake_args(self): + args = [ + self.define_from_variant("SZx_INSTALL_CLI", "cli"), + self.define_from_variant("SZx_INSTALL_EXAMPLES", "examples"), + self.define_from_variant("SZx_BUILD_CUDA", "cuda"), + ] + return args |