summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Underwood <robertu94@users.noreply.github.com>2024-05-20 20:12:00 -0400
committerGitHub <noreply@github.com>2024-05-20 18:12:00 -0600
commita94ebfea1166fd5926332a165132ffcbf8fef4af (patch)
treee17fb67153a49938da9bf25210c1900c1f460082
parent8f5fe1d123881cd4eaf815f541f7f60d5f14611b (diff)
downloadspack-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>
-rw-r--r--var/spack/repos/builtin/packages/cusz/package.py1
-rwxr-xr-xvar/spack/repos/builtin/packages/dctz/package.py36
-rw-r--r--var/spack/repos/builtin/packages/lc-framework/package.py48
-rw-r--r--var/spack/repos/builtin/packages/libdistributed/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libpressio-adios1/package.py24
-rw-r--r--var/spack/repos/builtin/packages/libpressio-adios2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libpressio-dataset/package.py41
-rw-r--r--var/spack/repos/builtin/packages/libpressio-errorinjector/package.py6
-rwxr-xr-xvar/spack/repos/builtin/packages/libpressio-jit/package.py28
-rw-r--r--var/spack/repos/builtin/packages/libpressio-nvcomp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libpressio-opt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libpressio-predict/package.py64
-rw-r--r--var/spack/repos/builtin/packages/libpressio-rmetric/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libpressio-sperr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libpressio-tools/package.py62
-rw-r--r--var/spack/repos/builtin/packages/libpressio-tthresh/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libpressio/package.py191
-rw-r--r--var/spack/repos/builtin/packages/libstdcompat/package.py16
-rwxr-xr-xvar/spack/repos/builtin/packages/poorjit/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-langsmith/package.py5
-rw-r--r--var/spack/repos/builtin/packages/qoz/package.py2
-rw-r--r--var/spack/repos/builtin/packages/sz/package.py4
-rw-r--r--var/spack/repos/builtin/packages/sz3/package.py1
-rw-r--r--var/spack/repos/builtin/packages/szx/package.py49
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