summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_environment.py2
-rw-r--r--var/spack/repos/builtin/packages/adios2/package.py5
-rw-r--r--var/spack/repos/builtin/packages/arc/package.py37
-rw-r--r--var/spack/repos/builtin/packages/bitgroomingz/package.py30
-rw-r--r--var/spack/repos/builtin/packages/cub/package.py3
-rw-r--r--var/spack/repos/builtin/packages/cusz/package.py37
-rw-r--r--var/spack/repos/builtin/packages/dbow2/package.py2
-rw-r--r--var/spack/repos/builtin/packages/digitrounding/package.py30
-rw-r--r--var/spack/repos/builtin/packages/dlib/package.py35
-rw-r--r--var/spack/repos/builtin/packages/dorian3d-dlib/package.py21
-rw-r--r--var/spack/repos/builtin/packages/fpzip/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libdistributed/package.py50
-rw-r--r--var/spack/repos/builtin/packages/libpressio-adios2/package.py29
-rw-r--r--var/spack/repos/builtin/packages/libpressio-errorinjector/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libpressio-nvcomp/package.py30
-rw-r--r--var/spack/repos/builtin/packages/libpressio-opt/package.py49
-rw-r--r--var/spack/repos/builtin/packages/libpressio-rmetric/package.py43
-rw-r--r--var/spack/repos/builtin/packages/libpressio-sperr/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libpressio-tools/package.py100
-rw-r--r--var/spack/repos/builtin/packages/libpressio-tthresh/package.py39
-rw-r--r--var/spack/repos/builtin/packages/libpressio/package.py331
-rw-r--r--var/spack/repos/builtin/packages/libstdcompat/package.py98
-rw-r--r--var/spack/repos/builtin/packages/mgard/package.py45
-rw-r--r--var/spack/repos/builtin/packages/mgardx/package.py35
-rw-r--r--var/spack/repos/builtin/packages/ndzip/package.py40
-rw-r--r--var/spack/repos/builtin/packages/nvcomp/package.py34
-rw-r--r--var/spack/repos/builtin/packages/qcat/package.py24
-rw-r--r--var/spack/repos/builtin/packages/qoz/package.py28
-rw-r--r--var/spack/repos/builtin/packages/r-libpressio/package.py36
-rw-r--r--var/spack/repos/builtin/packages/r/package.py3
-rw-r--r--var/spack/repos/builtin/packages/sam2p/package.py25
-rw-r--r--var/spack/repos/builtin/packages/sperr/package.py43
-rw-r--r--var/spack/repos/builtin/packages/sz-cpp/package.py29
-rw-r--r--var/spack/repos/builtin/packages/sz3/package.py31
-rw-r--r--var/spack/repos/builtin/packages/szauto/package.py23
35 files changed, 1410 insertions, 26 deletions
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py
index 63b1309a22..f8fda997d3 100644
--- a/lib/spack/spack/build_environment.py
+++ b/lib/spack/spack/build_environment.py
@@ -201,6 +201,8 @@ def clean_environment():
env.unset("CMAKE_PREFIX_PATH")
env.unset("PYTHONPATH")
+ env.unset("R_HOME")
+ env.unset("R_ENVIRON")
# Affects GNU make, can e.g. indirectly inhibit enabling parallel build
# env.unset('MAKEFLAGS')
diff --git a/var/spack/repos/builtin/packages/adios2/package.py b/var/spack/repos/builtin/packages/adios2/package.py
index 39568376e8..dd4708b841 100644
--- a/var/spack/repos/builtin/packages/adios2/package.py
+++ b/var/spack/repos/builtin/packages/adios2/package.py
@@ -60,6 +60,9 @@ class Adios2(CMakePackage, CudaPackage):
variant("mpi", default=True, description="Enable MPI")
# Compression libraries
+ variant(
+ "libpressio", default=False, when="@2.8:", description="Enable LibPressio for compression"
+ )
variant("blosc", default=True, when="@2.4:", description="Enable Blosc compression")
variant("bzip2", default=True, when="@2.4:", description="Enable BZip2 compression")
variant("zfp", default=True, description="Enable ZFP compression")
@@ -103,6 +106,7 @@ class Adios2(CMakePackage, CudaPackage):
depends_on("hdf5~mpi", when="+hdf5~mpi")
depends_on("hdf5+mpi", when="+hdf5+mpi")
+ depends_on("libpressio", when="+libpressio")
depends_on("c-blosc", when="+blosc")
depends_on("bzip2", when="+bzip2")
depends_on("libpng@1.6:", when="+png")
@@ -178,6 +182,7 @@ class Adios2(CMakePackage, CudaPackage):
from_variant("ADIOS2_USE_SZ", "sz"),
from_variant("ADIOS2_USE_ZFP", "zfp"),
from_variant("ADIOS2_USE_CUDA", "cuda"),
+ from_variant("ADIOS2_USE_LIBPRESSIO", "libpressio"),
self.define("BUILD_TESTING", self.run_tests),
self.define("ADIOS2_BUILD_EXAMPLES", False),
self.define("ADIOS2_USE_Endian_Reverse", True),
diff --git a/var/spack/repos/builtin/packages/arc/package.py b/var/spack/repos/builtin/packages/arc/package.py
new file mode 100644
index 0000000000..5d2349ca3e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/arc/package.py
@@ -0,0 +1,37 @@
+# Copyright 2013-2022 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 Arc(CMakePackage):
+ """ARC is an automatic resiliency library designed to provide security
+ to lossy compressed data or other uint8_t data arrays
+
+ forked from: https://github.com/FTHPC/ARC to support Spack after developer
+ left grad school
+ """
+
+ homepage = "https://github.com/FTHPC/ARC"
+ url = "https://github.com/FTHPC/ARC"
+ git = "https://github.com/robertu94/ARC"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("2021-12-01", commit="49d4a5df53a082f15a6959aef434224fd7b9beac")
+
+ depends_on("libpressio+sz+zfp", when="+examples")
+
+ variant("examples", description="build examples", default=False)
+ variant("shared", description="build shared libraries", default=True)
+
+ def cmake_args(self):
+ args = [
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("BUILD_EXAMPLES", "examples"),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/bitgroomingz/package.py b/var/spack/repos/builtin/packages/bitgroomingz/package.py
new file mode 100644
index 0000000000..c10a4f15df
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bitgroomingz/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2022 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 Bitgroomingz(CMakePackage):
+ """BGZ: Bit Grooming Compressor"""
+
+ homepage = "https://github.com/disheng222/BitGroomingZ"
+ git = "https://github.com/disheng222/BitGroomingZ"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("2022-10-14", commit="a018b20cca9f7d6a5396ab36230e4be6ae1cb25b")
+
+ variant("shared", default=True, description="build shared libs")
+
+ depends_on("zlib")
+
+ def cmake_args(self):
+ args = []
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
+ else:
+ args.append("-DBUILD_SHARED_LIBS=OFF")
+ return args
diff --git a/var/spack/repos/builtin/packages/cub/package.py b/var/spack/repos/builtin/packages/cub/package.py
index c704b47319..ad115965cb 100644
--- a/var/spack/repos/builtin/packages/cub/package.py
+++ b/var/spack/repos/builtin/packages/cub/package.py
@@ -39,6 +39,9 @@ class Cub(Package):
version("1.7.1", sha256="50b8777b83093fdfdab429a61fccdbfbbb991b3bbc08385118e5ad58e8f62e1d")
version("1.4.1", sha256="7c3784cf59f02d4a88099d6a11e357032bac9eac2b9c78aaec947d1270e21871")
+ def setup_dependent_build_environment(self, env, dependent_spec):
+ env.set("CUB_DIR", self.prefix.include.cub.cmake)
+
def install(self, spec, prefix):
mkdirp(prefix.include)
install_tree("cub", join_path(prefix.include, "cub"))
diff --git a/var/spack/repos/builtin/packages/cusz/package.py b/var/spack/repos/builtin/packages/cusz/package.py
index 8a9e1358e5..2c1e78b4b0 100644
--- a/var/spack/repos/builtin/packages/cusz/package.py
+++ b/var/spack/repos/builtin/packages/cusz/package.py
@@ -6,19 +6,24 @@
from spack.package import *
-class Cusz(MakefilePackage):
- """cuSZ is a CUDA-based error-bounded lossy compressor for scientific
- data (floating point and integers).
- """
-
- homepage = "https://szcompressor.org"
- url = "https://github.com/szcompressor/cuSZ/releases/download/v0.1.2/cuSZ-0.1.2.tar.gz"
- git = "https://github.com/szcompressor/cuSZ"
- maintainers = ["dingwentao", "jtian0"]
-
- version("master", branch="master")
- version("0.1.2", sha256="c6e89a26b295724edefc8052f62653c5a315c78eaf6d5273299a8e11a5cf7363")
-
- def install(self, spec, prefix):
- mkdir(prefix.bin)
- install("bin/cusz", prefix.bin)
+class Cusz(CMakePackage, CudaPackage):
+ """A GPU accelerated error-bounded lossy compression for scientific data"""
+
+ homepage = "https://szcompressor.org/"
+ git = "https://github.com/szcompressor/cusz"
+ url = "https://github.com/szcompressor/cuSZ/archive/refs/tags/v0.3.tar.gz"
+
+ maintainers = ["jtian0", "dingwentao"]
+
+ conflicts("~cuda")
+ conflicts("cuda_arch=none", when="+cuda")
+
+ version("develop", branch="develop")
+ version("0.3", sha256="0feb4f7fd64879fe147624dd5ad164adf3983f79b2e0383d35724f8d185dcb11")
+
+ depends_on("cub", when="^ cuda@:10.2.89")
+
+ def cmake_args(self):
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ args = ["-DBUILD_TESTING=OFF", ("-DCMAKE_CUDA_ARCHITECTURES=%s" % cuda_arch)]
+ return args
diff --git a/var/spack/repos/builtin/packages/dbow2/package.py b/var/spack/repos/builtin/packages/dbow2/package.py
index 90c3f9f1c1..0851eff37a 100644
--- a/var/spack/repos/builtin/packages/dbow2/package.py
+++ b/var/spack/repos/builtin/packages/dbow2/package.py
@@ -24,5 +24,5 @@ class Dbow2(CMakePackage):
# See https://github.com/spack/spack/pull/22303 for reference
depends_on(Boost.with_default_variants)
depends_on("opencv+calib3d+features2d+highgui+imgproc")
- depends_on("dlib")
+ depends_on("dorian3d-dlib")
depends_on("eigen", type="link")
diff --git a/var/spack/repos/builtin/packages/digitrounding/package.py b/var/spack/repos/builtin/packages/digitrounding/package.py
new file mode 100644
index 0000000000..3351bdf0f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/digitrounding/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2022 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 Digitrounding(CMakePackage):
+ """Standalone version of Digit rounding compressor"""
+
+ homepage = "https://github.com/disheng222/digitroundingZ"
+ git = "https://github.com/disheng222/digitroundingZ"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("2020-02-27", commit="7b18679aded7a85e6f221f7f5cd4f080f322bc33")
+
+ depends_on("zlib")
+
+ variant("shared", default=True, description="build shared libraries")
+
+ def cmake_args(self):
+ args = []
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
+ else:
+ args.append("-DBUILD_SHARED_LIBS=OFF")
+ return args
diff --git a/var/spack/repos/builtin/packages/dlib/package.py b/var/spack/repos/builtin/packages/dlib/package.py
index d733d00ff9..61813a7e82 100644
--- a/var/spack/repos/builtin/packages/dlib/package.py
+++ b/var/spack/repos/builtin/packages/dlib/package.py
@@ -2,20 +2,37 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-
from spack.package import *
class Dlib(CMakePackage):
- """DLib is a collection of C++ classes to solve common tasks in C++
- programs, as well as to offer additional functionality to use OpenCV
- data and to solve computer vision problems."""
+ """toolkit containing machine learning algorithms and tools
+ for creating complex software in C++ to solve real world problems"""
+
+ homepage = "http://dlib.net/"
+ url = "https://github.com/davisking/dlib/archive/v19.19.tar.gz"
+ git = "https://github.com/davisking/dlib"
- homepage = "https://github.com/dorian3d/DLib"
- git = "https://github.com/dorian3d/DLib.git"
+ maintainer = ["robertu94"]
version("master", branch="master")
+ version("19.22", sha256="5f44b67f762691b92f3e41dcf9c95dd0f4525b59cacb478094e511fdacb5c096")
+ version("19.21", sha256="116f52e58be04b47dab52057eaad4b5c4d5c3032d927fe23d55b0741fc4107a0")
+ version("19.20", sha256="fc3f0986350e8e53aceadf95a71d2f413f1eedc469abda99a462cb528741d411")
+ version("19.19", sha256="7af455bb422d3ae5ef369c51ee64e98fa68c39435b0fa23be2e5d593a3d45b87")
+
+ variant("shared", default=True, description="build the shared libraries")
+
+ depends_on("zlib")
+ depends_on("libpng")
+ depends_on("libjpeg")
+ depends_on("blas")
+ depends_on("lapack")
+ depends_on("libsm")
+ depends_on("libx11")
- depends_on("cmake@3.0:", type="build")
- depends_on("opencv+calib3d+features2d+highgui+imgproc+imgcodecs+flann")
+ def cmake_args(self):
+ args = []
+ if "+shared" in self.spec:
+ args.append("-DBUILD_SHARED_LIBS=ON")
+ return args
diff --git a/var/spack/repos/builtin/packages/dorian3d-dlib/package.py b/var/spack/repos/builtin/packages/dorian3d-dlib/package.py
new file mode 100644
index 0000000000..c71d7d32de
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dorian3d-dlib/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2022 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 Dorian3dDlib(CMakePackage):
+ """DLib is a collection of C++ classes to solve common tasks in C++
+ programs, as well as to offer additional functionality to use OpenCV
+ data and to solve computer vision problems."""
+
+ homepage = "https://github.com/dorian3d/DLib"
+ git = "https://github.com/dorian3d/DLib.git"
+
+ version("master", branch="master")
+
+ depends_on("cmake@3.0:", type="build")
+ depends_on("opencv+calib3d+features2d+highgui+imgproc+imgcodecs+flann")
diff --git a/var/spack/repos/builtin/packages/fpzip/package.py b/var/spack/repos/builtin/packages/fpzip/package.py
new file mode 100644
index 0000000000..46d30da2a5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fpzip/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2022 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 Fpzip(CMakePackage):
+ """fpzip compressor"""
+
+ homepage = "https://github.com/llnl/fpzip"
+ url = "https://github.com/LLNL/fpzip/releases/download/1.3.0/fpzip-1.3.0.tar.gz"
+ git = "https://github.com/llnl/fpzip"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("1.3.0", sha256="248df7d84259e3feaa4c4797956b2a77c3fcd734e8f8fdc51ce171dcf4f0136c")
diff --git a/var/spack/repos/builtin/packages/libdistributed/package.py b/var/spack/repos/builtin/packages/libdistributed/package.py
new file mode 100644
index 0000000000..3d442b1c60
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libdistributed/package.py
@@ -0,0 +1,50 @@
+# Copyright 2013-2022 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 Libdistributed(CMakePackage):
+ """a collection of facilities for MPI that create for higher level
+ facilities for programming in C++"""
+
+ homepage = "https://github.com/robertu94/libdistributed"
+ url = "https://github.com/robertu94/libdistributed/archive/0.0.3.tar.gz"
+ git = "https://github.com/robertu94/libdistributed"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("0.4.0", sha256="7895d268c4f9b5444e4378f60b5a28198720bc48633d0e5d072c39e3366b096c")
+ version("0.3.0", sha256="57443c72a5a9aa57d7f8760c878a77dcffca0b3b5ccf5124cdf5c1fad8a44ae8")
+ version("0.2.0", sha256="4540136d39f98a21c59a7e127cb0568266747bfff886edf0f0007be4959a09a3")
+ version("0.1.2", sha256="c22f93e6ea781ea33812481b19c7bc5e688e51f91991debc7f27a493ef2c78b3")
+ version("0.1.1", sha256="a5201fd754588034e2c87a21f0283dd9fda758d7820450179eabd68b3dae8cb6")
+ version("0.1.0", sha256="e10daa6d4a6dc371057e92d2b706ae16450b41ed7c0d386cffeb68e160f556c1")
+ version("0.0.10", sha256="3af4ce81b3ae016e80e401adfcfad856e15a76da4d2a81535cb4bd993c11104b")
+ version("0.0.8", sha256="78bc1fbc99e46ea0e03cb181623262be0f527767efd3249baa249cb24b794762")
+ version("0.0.7", sha256="b2c65752df7bc55fcdc9a5eb7b36c203667f2fb6382d3eaecdaf1504421d4d7b")
+ version("0.0.6", sha256="05ce6ae880aec19f6945ee5f3c2f4099343ca6b555ea6c8e005a48a6e09faf5b")
+ version("0.0.5", sha256="09c1e9a0b34371fa8e6f3d50671bcce7fcc3e4c7c26f3e19017b07b64695d199")
+ version("0.0.4", sha256="7813980011091822534d196d372b8cb6fdc12d35acd5acb42c6eeeaf10a44490")
+ version("0.0.3", sha256="c476b3efe20e1af4c976e89ff81b7eed01ddddae73ac66f005108747facbeff7")
+ version("0.0.2", sha256="c25309108fe17021fd5f06ba98386210708158c439e98326e68f66c42875e58a")
+ version("0.0.1", sha256="4c23ce0fd70a12ee5f8760ea00377ab6370d86b30ab42476e07453b19ea4ac44")
+
+ depends_on("mpi@2:")
+ depends_on("libstdcompat@0.0.2:", when="@0.1.0:")
+
+ def cmake_args(self):
+ args = []
+ if self.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libpressio-adios2/package.py b/var/spack/repos/builtin/packages/libpressio-adios2/package.py
new file mode 100644
index 0000000000..dbd06a7973
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-adios2/package.py
@@ -0,0 +1,29 @@
+# Copyright 2013-2022 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 LibpressioAdios2(CMakePackage):
+ """An IO plugin to read/write ADIOS2 files for LibPressio"""
+
+ homepage = "https://github.com/robertu94/libpressio_adios2"
+ url = "https://github.com/robertu94/libpressio_adios2/archive/refs/tags/0.0.1.tar.gz"
+
+ maintainers = ["robertu94"]
+
+ version("0.0.2", sha256="8ab4b5a0dd8038d52f54aa9b5a67b83a8f7cd096db4c5a413fe0c6caf678e402")
+ version("0.0.1", sha256="ab9c7e26114e8d81f8ad8aca703855079cd3441f9b72e01d9b4aeb0c57ce0746")
+
+ 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")
+
+ def cmake_args(self):
+ args = [
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define("LIBPRESSIO_ADIOS2_WERROR", False),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py
new file mode 100644
index 0000000000..ce75a977ac
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-errorinjector/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2022 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 LibpressioErrorinjector(CMakePackage):
+ """LibPressioErrorInjector injects errors into data for sensitivity studies"""
+
+ homepage = "https://github.com/robertu94/libpressio-errorinjector"
+ git = "https://github.com/robertu94/libpressio-errorinjector"
+
+ maintainers = ["robertu94"]
+
+ 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")
+
+ def cmake_args(self):
+ args = ["-DBUILD_TESTING=OFF"]
+ return args
diff --git a/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py
new file mode 100644
index 0000000000..7688b3c501
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-nvcomp/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2022 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 LibpressioNvcomp(CMakePackage, CudaPackage):
+ """LibPressio Bindings for NVCOMP"""
+
+ homepage = "https://github.com/robertu94/libpressio-nvcomp"
+ url = "https://github.com/robertu94/libpressio-nvcomp/archive/refs/tags/0.0.3.tar.gz"
+ git = "https://github.com/robertu94/libpressio-nvcomp"
+
+ maintainers = ["robertu94"]
+
+ 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@0.88.0:", when="@:0.0.2")
+
+ conflicts("~cuda")
+ conflicts("cuda_arch=none", when="+cuda")
+
+ def cmake_args(self):
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ args = [("-DCMAKE_CUDA_ARCHITECTURES=%s" % cuda_arch)]
+ return args
diff --git a/var/spack/repos/builtin/packages/libpressio-opt/package.py b/var/spack/repos/builtin/packages/libpressio-opt/package.py
new file mode 100644
index 0000000000..4c988b6372
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-opt/package.py
@@ -0,0 +1,49 @@
+# Copyright 2013-2022 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 LibpressioOpt(CMakePackage):
+ """Metacompressor which preforms optimization of compressor settings for LibPressio"""
+
+ homepage = "https://github.com/robertu94/libpressio_opt"
+ git = "git@github.com:robertu94/libpressio_opt"
+ url = "https://github.com/robertu94/libpressio_opt/archive/refs/tags/0.11.0.tar.gz"
+
+ maintainers = ["robertu94"]
+
+ version("develop", branch="develop")
+ version("sdr-develop", branch="develop", git="git@github.com:szcompressor/SDRFramework")
+ version("0.13.5", sha256="cc0e6a46335aa3552b8ab57757d39855f4fba71e661f706ec99519cb2c8a2f3c")
+ version("0.13.4", sha256="e9f715d11fe3558a31e1d9a939150209449ec8636ded047cb0adcd3db07569ae")
+ version("0.13.3", sha256="98436b7fa6a53dd9cc09a9b978dc81c299501930cb8b844713080fc42d39d173")
+ version("0.13.2", sha256="8a16ba23b5078b0ee3a75d8a64ba64b492ecfadc221dd28ae463f4d3f4f7d847")
+ version("0.13.1", sha256="a831d326871c183a7e64b2015d687da3f17cf89c2d7d1d6770e3acbc1346aa8c")
+ version("0.13.0", sha256="6a64116dd6727e2dc05840b0e804fcaf82debde09c69e4905197462a769e998e")
+ version("0.12.1", sha256="e5d0b4d8b4885dfe555148e23f34e0bc904a898871dea8d412265075f1f8c858")
+ version("0.12.0", sha256="5f28f37de858634cf481d911f202360f078902803f82b5f49b7eec9b59948d64")
+ version("0.11.0", sha256="cebbc512fcaa537d2af1a6919d6e0400cdc13595d71d9b90b74ad3eb865c9767")
+
+ depends_on("libpressio+libdistributed+mpi")
+ depends_on("libpressio@0.88.0:", when="@0.13.5:")
+ depends_on("libpressio@0.85.0:", when="@0.13.3:")
+ depends_on("libpressio@0.66.1:", when="@:0.13.2")
+ depends_on("libdistributed@0.0.11:")
+ depends_on("libdistributed@0.4.0:", when="@0.13.3:")
+ depends_on("dlib@19.22:")
+
+ def cmake_args(self):
+ args = []
+ if self.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libpressio-rmetric/package.py b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py
new file mode 100644
index 0000000000..4a916904e5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-rmetric/package.py
@@ -0,0 +1,43 @@
+# Copyright 2013-2022 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 LibpressioRmetric(CMakePackage):
+ """LibPressio metric that runs R code"""
+
+ url = "https://github.com/robertu94/libpressio-rmetric/archive/refs/tags/0.0.2.tar.gz"
+ git = "https://github.com/robertu94/libpressio-rmetric"
+ homepage = git
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ # note versions <= 0.0.3 do not build with spack
+ 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.85.0:", when="@:0.0.4")
+ depends_on("r")
+ depends_on("r-rcpp")
+ depends_on("r-rinside")
+
+ def cmake_args(self):
+ args = []
+ if self.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libpressio-sperr/package.py b/var/spack/repos/builtin/packages/libpressio-sperr/package.py
new file mode 100644
index 0000000000..36a01c7531
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-sperr/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2022 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 LibpressioSperr(CMakePackage):
+ """A LibPressio plugin for Sperr"""
+
+ homepage = "https://github.com/robertu94/libpressio-sperr"
+ url = "https://github.com/robertu94/libpressio-sperr/archive/refs/tags/0.0.1.tar.gz"
+ git = homepage
+
+ maintainers = ["robertu94"]
+
+ depends_on("libpressio@0.88.0:", when="@0.0.3:")
+ depends_on("libpressio@:0.88.0", when="@:0.0.2")
+ depends_on("sperr")
+ depends_on("pkgconfig", type="build")
+
+ version("master", branch="master")
+ version("0.0.2", sha256="61995d687f9e7e798e17ec7238d19d917890dc0ff5dec18293b840c4d6f8c115")
+ version("0.0.1", sha256="e2c164822708624b97654046b42abff704594cba6537d6d0646d485bdf2d03ca")
diff --git a/var/spack/repos/builtin/packages/libpressio-tools/package.py b/var/spack/repos/builtin/packages/libpressio-tools/package.py
new file mode 100644
index 0000000000..bda9019fd4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-tools/package.py
@@ -0,0 +1,100 @@
+# Copyright 2013-2022 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 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"
+ git = "https://github.com/robertu94/pressio-tools"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("0.1.6", sha256="a67a364f46dea29ff1b3e5c52c0a5abf2d9d53412fb8d424f6bd71252bfa7792")
+ version("0.1.5", sha256="b35f495fae53df87dd2abf58c0c51ed17710b16aaa2d0842a543fddd3b2a8035")
+ version("0.1.4", sha256="39adc4b09a63548a416ee4b1dcc87ec8578b15a176a11a2845c276c6c211f2d0")
+ version("0.1.3", sha256="4e6c39061d6d829936dfeb569ea997854694ef1a46f112e306672ee1cc1567a0")
+ version("0.1.2", sha256="a3379fd7c53c2eb0b5cdbf0e7eed37ae2a415f737885310d3da4d34fa55c618e")
+ version("0.1.1", sha256="adec3ea9a12677c647fbc3a1f9909fde6f2dd5ed662ed0ee5cd753b26397643e")
+ version("0.1.0", sha256="e016b1785f2dc5c8a8565ff3d7b50980788e057e61905a91ef1d16da73297a06")
+ version("0.0.24", sha256="b369efcc17f339fdd5741d817f1b7908bd2b5df5686c5406c6b1123b0daa82c5")
+ version("0.0.23", sha256="08a141be14e63e491216a89d45737040fc3450c5b793e6a4819cd06f876b2b0b")
+ version("0.0.22", sha256="9fcb20a3bf24e139386e94b413f10087d65ed32d2eb93cc7be8e87d736da9766")
+ version("0.0.21", sha256="2ffe1018ff86eca0928ab8bbf568b2cf7ab739f0e191e2722a6f5071dac4a153")
+ version("0.0.20", sha256="cad3a1dff25ae1dc442821e72fe8f7495e098bd0ea52c3beeac1ceb721c60351")
+ version("0.0.19", sha256="cc8a4bb5259b7b8e14248a1a741067a865a0db36645c878d346da983e74c9521")
+ version("0.0.18", sha256="766fcf6c4bd475de66107d379c76805d6368d71ee83cade645f2b7cd27801718")
+ version("0.0.17", sha256="cf76e8a929aa128d09f8f953171d5cf395223245bc81d2ea4e22099849e40b94")
+ version("0.0.16", sha256="1299e441fb15666d1c8abfd40f3f52b1bf55b6bfda4bfcc71177eec37160a95e")
+ version("0.0.15", sha256="bcdf865d77969a34e2d747034ceeccf5cb766a4c11bcc856630d837f442ee33e")
+
+ depends_on("mpi", when="+mpi")
+ depends_on("libpressio+libdistributed+mpi", when="+mpi")
+ depends_on("libpressio", when="~mpi")
+ depends_on("libpressio+hdf5", when="+hdf5")
+
+ depends_on("boost")
+
+ # 0.1.0 changed a bunch of things in the build system, make sure everything is up to date
+ depends_on("libpressio@0.88.0:", when="@0.1.6:")
+ depends_on("libpressio@0.85.0:", when="@0.1.0:0.1.5")
+ depends_on("libpressio-opt@0.13.3:", when="@0.1.0:+opt")
+ depends_on("libpressio-errorinjector@0.7.0:", when="@0.1.0:+error_injector")
+ depends_on("libpressio-tthresh@0.0.5:", when="@0.1.0:+tthresh")
+ depends_on("libpressio-rmetric@0.0.4:", when="@0.1.0:+rcpp")
+ depends_on("libpressio-adios2@0.0.2", when="@0.1.0:+adios2")
+
+ depends_on("libpressio-opt", when="+opt")
+ depends_on("libpressio-errorinjector", when="+error_injector")
+ depends_on("libpressio-tthresh", when="+tthresh")
+ depends_on("libpressio-rmetric", when="+rcpp")
+ depends_on("libpressio-adios2", when="+adios2")
+ depends_on("libpressio-sperr", when="+sperr")
+ depends_on("libpressio-nvcomp", when="+nvcomp")
+
+ variant("hdf5", default=True, description="support the hdf5 package")
+ variant("opt", default=False, description="support the libpressio-opt package")
+ variant(
+ "error_injector", default=False, description="support the libpressio-errorinjector package"
+ )
+ variant("tthresh", default=False, description="depend on the GPL licensed libpressio-tthresh")
+ variant("rcpp", default=False, description="depend on the GPL licensed libpressio-rmetric")
+ variant("mpi", default=False, description="depend on MPI for distributed parallelism")
+ 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")
+
+ 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")
+
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libpressio-tthresh/package.py b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py
new file mode 100644
index 0000000000..d94019328d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio-tthresh/package.py
@@ -0,0 +1,39 @@
+# Copyright 2013-2022 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 LibpressioTthresh(CMakePackage):
+ """A tthresh implementation for libpressio"""
+
+ homepage = "https://github.com/robertu94/libpressio_tthresh"
+ url = "https://github.com/robertu94/libpressio_tthresh/archive/refs/tags/0.0.1.tar.gz"
+ git = homepage
+
+ maintainers = ["robertu94"]
+
+ version("main", branch="main")
+ version("0.0.6", sha256="e9dc4754421d892a86516c6bb892f6ff582e9ea3c242c1c052104e4f6944cbec")
+ version("0.0.5", sha256="af47c90e9c16825312e390a7fb30d9d128847afb69ad6c2f6608bd80f60bae23")
+ version("0.0.3", sha256="b0b0a4876d3362deafc2bb326be33882132e3d1666e0c5f916fd6fad74a18688")
+ version("0.0.1", sha256="9efcfa97a5a81e9c456f50b712adb806d9d2f2ed6039860615df0f2e9d96569e")
+
+ depends_on("eigen")
+ depends_on("libpressio@0.85.0:", when="@:0.0.5")
+ depends_on("libpressio@0.88.0:", when="@0.0.6:")
+
+ def cmake_args(self):
+ args = []
+ if self.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/libpressio/package.py b/var/spack/repos/builtin/packages/libpressio/package.py
new file mode 100644
index 0000000000..d30bb5edc1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libpressio/package.py
@@ -0,0 +1,331 @@
+# Copyright 2013-2022 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 Libpressio(CMakePackage, CudaPackage):
+ """A generic abstraction for the compression of dense tensors"""
+
+ # codarcode gets "stable" releases ~1/yr; robertu94 contains development versions
+ homepage = "https://github.com/codarcode/libpressio"
+ url = "https://github.com/robertu94/libpressio/archive/0.31.1.tar.gz"
+ git = "https://github.com/robertu94/libpressio"
+
+ version("master", branch="master")
+ version("develop", branch="develop")
+ version("0.88.0", sha256="4358441f0d10559d571327162a216617d16d09569a80e13ad286e3b7c41c5b9b")
+ version("0.87.0", sha256="2bea685e5ed3a1528ea68ba4a281902ff77c0bebd38ff212b6e8edbfa263b572")
+ version("0.86.7", sha256="2a6319640a018c39aa93aaf0f027fd496d7ea7dc5ac95509313cf1b4b6b1fb00")
+ version("0.86.6", sha256="31ac77137c31a524c2086e1fe4d9b1d3c1bc6d8594662cd4b67878ba8887cabb")
+ version("0.86.5", sha256="6e6ffe7585e298061f6f5ff79a9fe7edf722a8c124a87282bae864ed6a167246")
+ version("0.86.4", sha256="52a1d932b30a9390e836ea4b102225b176f8feebbac598a0ab3a81a9ac83775c")
+ version("0.86.3", sha256="6b010e394fc916ad2233e941a49f70555dda40521e3668f2e10502c7bfa529be")
+ version("0.86.2", sha256="e221cb256e1b387ce1245cab5704c10d351812c003b257655d43b156b9650a89")
+ version("0.86.1", sha256="89b1b652215f67635da1baac81d3f927ff00f335c473322edcf24472b5a9b5a4")
+ version("0.86.0", sha256="867bd6ea6b632b7f6d6a89aac073cea738b574825c81ee83318802e9d3d5fbe8")
+ version("0.85.0", sha256="79a600fdd5c7a418a0380425e1bbeb245d5d86e1676f251e5900b69738b72423")
+ version("0.84.3", sha256="7b2ca198f919c1f981c88722da33ef69b564fe123d49330ad6ba17eba80c046e")
+ version("0.84.2", sha256="c50b599a22ab89b7ef57dbaa717f5e97f4437d2bd4b6e572274c8c98022b05da")
+ version("0.84.0", sha256="b22320a54dbb9f65a66af2a6f335884e7ba48abd3effe643e51e4e7cfe793b7d")
+ version("0.83.4", sha256="9dd0efff1c6121e964b45371d6a52895f6a8db3d5cdabbd1e951b696a3f590e3")
+ version("0.83.3", sha256="59e2bb2c1eb422c03204bfc713bc76d7bbaeaeba6430e1204577495c07eef34d")
+ version("0.83.2", sha256="56dd63cb3924fb57f8f53929faecf2a5211985f160cdacf38b3d001e22728427")
+ version("0.83.1", sha256="2afdc8421b4c0f638c8547bcdd54bdb405d1717dca32b804621c5c152adbe2a6")
+ version("0.83.0", sha256="7c692bbf3ebdfa508a493902eb561c85b9087dd8003547dcd54baf0b2188d9bd")
+ version("0.82.3", sha256="97a6a0a022d8ae60f477ce21d1ff10cc47bb2f7d3891bb3b49f4a7b166f9c2e1")
+ version("0.82.2", sha256="ce2d566c627a5341e1fd58261b2d38567b84d963f1045e2e4aac87e67ac06d89")
+ version("0.82.1", sha256="f6b41ad6f56311078e67e68063f9124f32e63a9c1c9c0c0289c75addaf9fed94")
+ version("0.82.0", sha256="e60f843dda8312ae4269c3ee23aad67b50f29a8830c84fb6c10309c37e442410")
+ version("0.81.0", sha256="51ab443a42895fefb4e0ae8eb841402f01a340f3dd30dcb372f837e36ac65070")
+ version("0.80.1", sha256="9168789f8714d0bbce1a03ff3a41ef24c203f807fed1fbd5ca050798ebef015f")
+ version("0.80.0", sha256="f93292dc258224a8ef69f33299a5deecfb45e7ea530575eeaa4ceff48093d20e")
+ version("0.79.0", sha256="e843d8f70369e30d0135b513926ac4a5dacd3042c307c132e80a29b7349e8501")
+ version("0.78.0", sha256="d9292150686d2be616cd9145c24fe6fc12374df023eee14099ffdf7071e87044")
+ version("0.77.0", sha256="d2f362c8b48b6ea6b3a099f3dcb0ce844e3b45fd6cf0c4130fbbf48d54d1a9b3")
+ version("0.76.1", sha256="09b6926efefa1b10f400dfc94927c195d1f266f34ed34cddeba11707c0cc6982")
+ version("0.76.0", sha256="8ec0e3bcc57511a426047748f649096cf899a07767ddbcdbfad28500e1190810")
+ version("0.75.1", sha256="8b9beb79507196575649d32116d13833e7dc9765370c245ac5a3640a50cb106a")
+ version("0.75.0", sha256="83aadd5e6172b3654b955954d13f2d9346fcd008bc901746f6f8b65a978235ee")
+ version("0.74.1", sha256="aab7211c244a7a640e0b2d12346463c8650ef4f8d48fc58819a20d3b27ab5f81")
+ version("0.74.0", sha256="2fbd54bbc4d1f3ce4b107ac625ad97c6396bff8873f2ac51dd049d93aa3f2276")
+ version("0.73.0", sha256="059c90ab50d2e50a1fff8bf25c0c387a9274090bf8657fa49aa1c211b4690491")
+ version("0.72.2", sha256="1f620b8af272dd2823712c1e38a69c6375febe49eb9155a3f04667ea1931ebdb")
+ version("0.72.1", sha256="f8ab9559c40a6a93ad0c1a894acf71e07c9fe1994f464852c9dd6f0423a6dc51")
+ version("0.72.0", sha256="0e6e7327a21a0cd6cf56fa4c62ba5ec1c41381ac053602d8acaa854bdfd1cb30")
+ version("0.71.3", sha256="f1185acdc6143fe7e417754032336ef50fec5760b08cb291962305429adf18da")
+ version("0.71.2", sha256="0501f6a0a9cfad62f80834d1dd77c678b000202903168aec0d2c4928ff6e581c")
+ version("0.71.1", sha256="cd9daa4b28da3b5e3cb36cace11b4e580a66fb14ca04a807c5a135a9448bb5df")
+ version("0.71.0", sha256="9b9ba9689c53e9cfa4d9fee52653ed393d2307c437dac41daceb6f98564fbcd1")
+ version("0.70.8", sha256="f0600cabd0341669ef1d6e838ef3496cff5200239a3b96a4941c434d71e4517c")
+ version("0.70.7", sha256="82722a9e7fbec3b2d79be226ba73bbf3108d3206d006a763db46d20cc044a8b5")
+ version("0.70.6", sha256="e76be47b0b8bd18d7ac44d59242adc45dc721465638aefd2c8564fd778d1adbd")
+ version("0.70.5", sha256="c6ee62643c08a7ceca7c45eb28edff0eeb070671bf0d502563b6cc8ada4bf695")
+ version("0.70.4", sha256="6df62154d0a8919fa91f6fce4ffb2f77584d5ddc61c85eee34557d36de9906b2")
+ version("0.70.3", sha256="40cca7f6d3bd19fdcf6f6c17521acdf63dfda0fb5b173c23d4521818b16a9a46")
+ version("0.70.2", sha256="30929e02c0ce5db8d9ff1eeca42df92e68439c7dd5a3c1fea0bb44ead2343442")
+ version("0.70.1", sha256="855923ca58b1c549681d368d2112d05b96fae9e3199f2a10c2013fcb2f630036")
+ version("0.70.0", sha256="1e987dcea76b2bd01f7e59b404267c7614a7c99b3fbc0ae745bf8e9426f489c6")
+ version("0.69.0", sha256="22e47deb4791778846b9c858295b756f91e1d8c884ccf246c2df2bf9b56a04d5")
+ version("0.68.0", sha256="c7008e6f6b4451812070ece7e9b2fb6cc2fb04971255f95c8274375a698c6794")
+ version("0.66.3", sha256="7423339831525a128115d446b1dd7fb7942f2aed24e0ec3778396d2c0c379678")
+ version("0.66.2", sha256="89a6459b6fcf1273f8afc7317e7351c09be977aeb3bb6554941166074ee2030f")
+ version("0.66.1", sha256="1de2d3d911fc91f7aa9f57eda467f1aadd7060a680538b82c678a5f4e7e6c5d0")
+ version("0.66.0", sha256="c3063a85c8f17df6ba1722f06eaab74fe14a53f37f5a86664c23a7f35d943f3a")
+ version("0.65.0", sha256="beb4f7bc73b746fe68c4333fa4d4e1dba05f5f5fb386874b83cbf7f105e83c45")
+ version("0.64.0", sha256="1af87b410eabee7f377b047049eae486cf3161fa67546789440f1d1e56e2324d")
+ version("0.63.0", sha256="32d716f52073d7ea246d01fefb420bfe5b834ebc10579edd79ebce7a87dd1a81")
+ version("0.62.0", sha256="248eedc764312da401aa29304275e009196ebdb5b08594a1522bb165c16874aa")
+ version("0.61.0", sha256="7b4304b7556d8ec0742d1b8a9280f7f788307d2a6f4d2f59cc8e8358b6c69c11")
+ version("0.60.0", sha256="a57fce96d50a603075a8a4a583431a1a03170df4d2894ff30f84d8c5ab4caf47")
+ version("0.59.0", sha256="eae5933a7b37834cf4f70424b083f99799f9381ee8bb616f3a01d4ab2e5631a6")
+ version("0.58.0", sha256="6b092dda66e7cc1bc4842fe54ab41248c4f136307cc955081e8052222c82aff1")
+ version("0.57.0", sha256="4f978616c13f311170fdc992610ad1fd727884cf0d20b6849b2c985d936c482b")
+ version("0.56.2", sha256="1ae20415ba50a4dcfec7992e9a571f09f075f077ebdd7c1afb9a19b158f6205d")
+ version("0.56.1", sha256="01b7c09f1eafff819de0079baf033f75547432be62dc10cb96691d078994a4e9")
+ version("0.56.0", sha256="77003c9dde0590ca37fddfbe380b29b9f897fa0dadb9b9f953819f5e9d9f08f0")
+ version("0.55.3", sha256="f8c6ae6ae48c4d38a82691d7de219ebf0e3f9ca38ae6ba31a64181bfd8a8c50a")
+ version("0.55.2", sha256="47f25f27f4bff22fd32825d5a1135522e61f9505758dde3d093cfbdaff0b3255")
+ version("0.55.1", sha256="39f1799d965cd0fec06f0a43dec865c360cbb206e4254f4deb4f7b7f7f3c3b2f")
+ version("0.55.0", sha256="fb74cfe2a8f3da51f9840082fa563c2a4ce689972c164e95b1b8a1817c4224cf")
+ version("0.54.0", sha256="cd28ddf054446c286f9bfae563aa463e638ee03e0353c0828a9ce44be4ce2df9")
+ version("0.53.2", sha256="4a7b57f1fd8e3e85ecf4a481cc907b81a71c4f44cf2c4a506cb37a6513a819a4")
+ version("0.53.1", sha256="1425dec7ee1a7ddf1c3086b83834ef6e49de021901a62d5bff0f2ca0c75d3455")
+ version("0.53.0", sha256="0afb44c2dab8dd8121d174193eb6623b29da9592e5fe1bbe344cfc9cacbec0cb")
+ version("0.52.2", sha256="c642463da0bbdd533399e43c84ea0007b1d7da98276c26bc075c7b4778f97a01")
+ version("0.52.1", sha256="32f211aaf4641223bf837dc71ea064931f85aa9260b9c7f379787ca907c78c3a")
+ version("0.52.0", sha256="2fd4cf0cc43c363b2e51cb264a919a1b43514aad979b9b5761b746fc70490130")
+ version("0.51.0", sha256="878d5399c4789034b7f587a478e2baf8e852f7f1f82aa59e276ddf81d325b934")
+ version("0.50.4", sha256="f4ab7dada0e07ecf97f88e2dd7ca6c4755fb0f4175d8d12ed3a856c45b240bde")
+ version("0.50.3", sha256="cc78bfc9a5d1b061098c892e9c8ff14861aa48ea95f0e9684ca4250d30c38889")
+ version("0.50.2", sha256="0ef1355f905d48ed01c034a8d418e9c528113d65acb3dd31951297029c5aaed4")
+ version("0.50.1", sha256="1500bae01ba74c330bc205b57423688c2b1aacafe1aabcaf469b221dcda9beec")
+ version("0.50.0", sha256="c50fb77b5c8d535fe0c930e5d4400d039ad567a571ea9711b01d6d5bd2a26fb6")
+ version("0.49.2", sha256="cde90e0183024dc1a78d510e2ae3effa087c86c5761f84cba0125f10abc74254")
+ version("0.49.1", sha256="6d1952ada65d52d2fd5d4c60bb17e51d264c2c618f9b66dadeffa1e5f849394a")
+ version("0.49.0", sha256="adfe5c64a5d170197893fe5a4c9338cde6cbdd5b54e52534886425101be4458f")
+ version("0.48.0", sha256="087a7f944240caf2d121c1520a6877beea5d30cc598d09a55138014d7953348a")
+ version("0.47.0", sha256="efce0f6f32e00482b80973d951a6ddc47b20c8703bd0e63ab59acc0e339d410b")
+ version("0.46.3", sha256="24bc5d8532a90f07ab2a412ea28ddbfc8ff7ab27cd9b4e7bd99a92b2a0b5acfd")
+ version("0.46.2", sha256="3ebbafa241e54cb328966ea99eab5d837c4a889f17c3b2048cc2961166a84cc4")
+ version("0.46.1", sha256="be7468b30a367bcbefab09ed5ac07320cd323904c9129d6b874175b39ef65cd9")
+ version("0.46.0", sha256="ab944358edc7e03be604749002f1f00aaf4d55d20bac2689d40bd4e66357879d")
+ version("0.45.0", sha256="b3307b99f82f0300dfed7dd122447a6e74ca8ad8c012d2fc60467e6e067ac226")
+ version("0.44.0", sha256="cec114325167731233be294aab329d54862457cb2e1f1a87d42d100da7c53aa5")
+ version("0.42.2", sha256="a9289260eb0a4eaf4550c2d6ad1af7e95a669a747ce425ab9a572d4ab80e2c1f")
+ version("0.42.1", sha256="5f79487568ec4625b0731f0c10efb565201602a733d1b6ac1436e8934cf8b8ec")
+ version("0.42.0", sha256="c08e047e202271ec15eeda53670c6082815d168009f4e993debcc0d035904d6b")
+ version("0.41.0", sha256="b789360d70656d99cd5e0ceebfc8828bdf129f7e2bfe6451592a735be9a0809a")
+ version("0.40.1", sha256="73a65f17e727191b97dfdf770dd2c285900af05e6fee93aa9ced9eadb86f58ff")
+ version("0.40.0", sha256="80e68172eeef0fbff128ede354eaac759a9408c3ef72c5eed871bb9430b960ff")
+ version("0.39.0", sha256="e62fea9bcb96529507fdd83abc991036e8ed9aa858b7d36587fce3d559420036")
+ version("0.38.2", sha256="5f38387d92338eac8658cd70544a5d9a609bd632090f4f69bcbc9f07ec4abd7b")
+ version("0.38.1", sha256="99ff1ff61408e17f67ab427c51add074f66ab7375a506ae70dcb24c47a8ea636")
+ version("0.38.0", sha256="e95aa6e4161324fa92fa236ea2bf08a7267a883ef4ca5fbb8bbf75e70db1ce4f")
+ version("0.37.0", sha256="98877fa2daf91ac91c2e0e0014684131d6efc4a1f2f77917d40fdbf424d74588")
+ version("0.36.0", sha256="452a3973cf359786409e064ca4b63a5f81072a9d72a52d1a4084d197f21fc26b")
+ version("0.35.0", sha256="50e6de305e1ffdcf423cec424e919bb0bdebee6449d34ff26a40421f09392826")
+ version("0.34.4", sha256="5a997c6f4b8c954a98046a851d0f3b31ce7c5be6e7e615068df4f1d7b86c9630")
+ version("0.34.3", sha256="1f5994862c33df4588d411b49fba20a40294627d0b325bbd5234f169eb1d4842")
+ version("0.34.2", sha256="3b8d3f801799023c8efe5069895723ce4e742330282774dc0873c2fa3910eeb2")
+ version("0.34.1", sha256="791ff249a685fab1733d4c3c936db6a064aa912d47926ad4bd26b1829f6e2178")
+ version("0.34.0", sha256="da62a15da103e763e34dae43be3436873e4fb550630dddc55232ae644accda02")
+ version("0.33.0", sha256="61200855a0846ce765b686fa368496f44534e633031811803ba2cb31f94c25b1")
+ version("0.32.0", sha256="187e75fc6d3f84003829d2b8aec584e99d72d65f2d82835998714ae05ae008af")
+ version("0.31.1", sha256="32c1fd8319fbbb844a0a252d44761f81f17c6f3549daadce47e81524d84605a4")
+ version("0.31.0", sha256="9d4bc8b2c1a210a58f34216cebe7cd5935039d244b7e90f7e2792bda81ff7ddc")
+ version("0.30.1", sha256="e2249bdced68d80a413de59f8393922553a8900a14e731030e362266e82a9af8")
+ version("0.30.0", sha256="91de53099d9381e3744e7a1ac06d2db0f9065378c4d178328b78ac797ee3ec65")
+ version("0.29.1", sha256="ced1e98fbd383669e59ec06d2e0c15e27dbceda9ac5569d311c538b2fe6d3876")
+ version("0.29.0", sha256="a417a1d0ed75bd51131b86fba990502666d8c1388ad6282b3097aa461ccf9785")
+ version("0.28.0", sha256="5c4e0fe8c7c80615688f271b57b35ee9d924ac07c6d3d56d0303e610338ed332")
+ version("0.27.1", sha256="3f7d2401ff8b113781d93c5bf374f47ca35b2f962634c6310b73620da735e63d")
+ version("0.27.0", sha256="387ee5958de2d986095cda2aaf39d0bf319d02eaeeea2a565aea97e6a6f31f36")
+ version("0.26.0", sha256="c451591d106d1671c9ddbb5c304979dd2d083e0616b2aeede62e7a6b568f828c")
+
+ 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")
+ variant("magick", default=False, description="support the imagemagick image compressors")
+ variant(
+ "mgard", default=False, description="support for the MAGARD error bounded lossy compressor"
+ )
+ variant("python", default=False, description="build the python wrappers")
+ variant("sz", default=False, description="support for the SZ error bounded lossy compressor")
+ variant("zfp", default=False, description="support for the ZFP error bounded lossy compressor")
+ variant("boost", default=False, description="support older compilers using boost")
+ variant("petsc", default=False, description="support IO using petsc format")
+ variant("mpi", default=False, description="support for launching processes using mpi")
+ variant("lua", default=False, description="support for composite metrics using lua")
+ variant(
+ "libdistributed", default=False, description="support for distributed multi-buffer support"
+ )
+ variant("ftk", default=False, description="build support for the feature tracking toolkit")
+ variant("digitrounding", default=False, description="build support for the digit rounding")
+ variant("bitgrooming", default=False, description="build support for the bitgrooming")
+ variant("openmp", default=False, description="build plugins that use openmp")
+ variant("docs", default=False, description="build and install manual pages")
+ variant("remote", default=False, description="build the remote launch plugin")
+ variant("json", default=False, description="build the JSON support")
+ variant("szauto", default=False, description="build szauto support")
+ variant("unix", default=False, description="build support for unixisms like mmap and rusage")
+ variant("ndzip", default=False, description="build support for the NDZIP compressor")
+ variant("arc", default=False, description="build support for the ARC error correction tool")
+ variant("netcdf", default=False, description="build support for the NDFCDF data format")
+ variant("sz3", default=False, description="build support for the SZ3 compressor family")
+ variant("mgardx", default=False, description="build support for the MGARDx compressor")
+ variant("bzip2", default=False, description="build support for the bzip2 compressor")
+ variant("qoz", default=False, description="build support for the qoz compressor")
+ variant(
+ "cusz", default=False, description="build support for the cusz compressor", when="@0.86.0:"
+ )
+
+ depends_on("boost", when="@:0.51.0+boost")
+
+ depends_on("libstdcompat+boost", when="+boost")
+ 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:")
+ depends_on("libstdcompat@0.0.7:", when="@0.70.3:")
+ depends_on("libstdcompat@0.0.6:", when="@0.70.2:")
+ depends_on("libstdcompat@0.0.5:", when="@0.63.0:")
+ depends_on("libstdcompat@0.0.3:", when="@0.60.0:")
+ depends_on("libstdcompat", when="@0.52.0:")
+
+ depends_on("c-blosc", when="+blosc")
+ depends_on("fpzip", when="+fpzip")
+ depends_on("hdf5", when="+hdf5")
+ depends_on("imagemagick", when="+magick")
+ depends_on("mgard", when="+mgard")
+ depends_on("python@3:", when="+python", type=("build", "link", "run"))
+ depends_on("py-numpy", when="+python", type=("build", "link", "run"))
+ depends_on("swig@3.12:", when="+python", type="build")
+ depends_on("sz@2.1.8.1:", when="@0.55.2:+sz")
+ depends_on("sz@2.1.11.1:", when="@0.55.3:+sz")
+ depends_on("sz@2.1.12:", when="@0.69.0:+sz")
+ depends_on("fftw", when="+sz ^sz@:2.1.10")
+ depends_on("zfp", when="+zfp")
+ depends_on("petsc", when="+petsc")
+ depends_on("mpi@2:", when="+mpi")
+ depends_on("lua-sol2", when="+lua")
+ depends_on("libdistributed@0.0.11:", when="+libdistributed")
+ depends_on("libdistributed@0.4.0:", when="@0.85.0:+libdistributed")
+ depends_on("pkg-config", type="build")
+ depends_on("ftk@master", when="+ftk")
+ depends_on("digitrounding", when="+digitrounding")
+ depends_on("bitgroomingz", when="+bitgrooming")
+ depends_on("cmake@3.14:", type="build")
+ depends_on("py-mpi4py", when="@0.54.0:+mpi+python", type=("build", "link", "run"))
+ depends_on("py-numcodecs", when="@0.54.0:+python", type="run")
+ depends_on("doxygen+graphviz", when="+docs", type="build")
+ depends_on("curl", when="+remote")
+ depends_on("nlohmann-json+multiple_headers", when="+remote")
+ depends_on("nlohmann-json+multiple_headers", when="+json")
+ depends_on("szauto", when="+szauto")
+ depends_on("ndzip", when="+ndzip")
+ depends_on("arc", when="+arc")
+ depends_on("netcdf-c", when="+netcdf")
+ depends_on("mgardx", when="+mgardx")
+ conflicts(
+ "+mgardx", when="+szauto"
+ ) # 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",
+ )
+ depends_on("sz3", when="+sz3")
+ depends_on("bzip2", when="+bzip2")
+ depends_on("qoz", when="+qoz")
+ depends_on("cusz", when="+cusz")
+
+ extends("python", when="+python")
+
+ def cmake_args(self):
+ args = []
+ if "+python" in self.spec:
+ args.append("-DLIBPRESSIO_PYTHON_SITELIB={0}".format(python_platlib))
+ args.append("-DBUILD_PYTHON_WRAPPER=ON")
+ args.append("-DPython3_EXECUTABLE={0}".format(self.spec["python"].command))
+ if "+mpi" in self.spec:
+ args.append("-DLIBPRESSIO_HAS_MPI4PY=ON")
+ 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")
+ 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.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
+
+ @run_after("build")
+ def install_docs(self):
+ if "+docs" in self.spec:
+ with working_dir(self.build_directory):
+ make("docs")
diff --git a/var/spack/repos/builtin/packages/libstdcompat/package.py b/var/spack/repos/builtin/packages/libstdcompat/package.py
new file mode 100644
index 0000000000..481dbce1c8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libstdcompat/package.py
@@ -0,0 +1,98 @@
+# Copyright 2013-2022 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 Libstdcompat(CMakePackage):
+ """A compatibility header for C++14, 17, and 20 for C++11"""
+
+ homepage = "https://github.com/robertu94/std_compat"
+ url = "https://github.com/robertu94/std_compat/archive/0.0.1.tar.gz"
+ git = "https://github.com/robertu94/std_compat"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("0.0.15", sha256="af374a8883a32d874f6cd18cce4e4344e32f9d60754be403a5ac7114feca2a28")
+ version("0.0.14", sha256="9a794d43a1d79aec3350b89d8c06689b8b32cf75e2742cdfa9dc0e3f2be6f04e")
+ version("0.0.13", sha256="460656189e317e108a489af701fa8f33f13a93d96380788e692a1c68100e0388")
+ version("0.0.12", sha256="67c1d1724122a1ba7cebcd839658786680fa06a549369f4a7c36a44ad93ddd5d")
+ version("0.0.11", sha256="f166cd55e3cf845e4ed9eee1fb25de1f991dee5ef538c1e3ea9cbe7714863ccb")
+ version("0.0.10", sha256="d55ad9b7f61efa5a4bbef047f729af5ed9e44f96bb9d54f36023fa99af2bfe40")
+ version("0.0.9", sha256="325e816153aab0aee791e4c628e01dbc5b7aa336558d1694bd5de763f34e37e6")
+ version("0.0.8", sha256="3103295033fb6723dc462a8979ccfe3b571347c2a458f4cc8d8324981dedead9")
+ version("0.0.7", sha256="8cb4ed704aef427bbe4c86ee874a350561e6e059223e7b3d60f1e0d7300ccfe9")
+ version("0.0.6", sha256="cf4288422c9e9ab9e7c831c11a6a67907fe19b0da40601cc2b05e76e3be2f795")
+ version("0.0.5", sha256="a8599a12253b5ebdb38c6e416e7896444fd48a15167fe481985182ed17fc6883")
+ version("0.0.4", sha256="b2aeb4e60105635acb3f41b2c9559956e7b75d999c73b84b14be5b78daa4e6a9")
+ version("0.0.3", sha256="098678618a335bb2e8b25ceae8c3498f4c3056fd9e03467948bab18252afb46d")
+ version("0.0.2", sha256="36424399e649be38bdb21899aa45f94aebba25c66048bab2751b1b3b9fd27238")
+ version("0.0.1", sha256="3d63e901f4e20b9032a67086f4b4281f641ee0dea436cf15f7058faa40d8637b")
+
+ variant(
+ "cpp_compat",
+ values=("11", "14", "17", "20", "auto"),
+ default="auto",
+ multi=False,
+ description="version of the c++ standard to use and depend on",
+ )
+ variant("cpp_unstable", default=True, description="sets CXX_STANDARD_REQUIRED")
+ variant("boost", default=False, description="support older compilers using boost")
+
+ depends_on("boost+thread", when="%gcc@:8.0.0")
+ depends_on("boost+thread", when="+boost")
+ depends_on("boost+thread", when="cpp_compat=11")
+ depends_on("boost+thread", when="cpp_compat=14")
+
+ conflicts("~cpp_unstable", when="@0.0.7: cpp_compat=auto")
+ conflicts("+cpp_unstable", when="@:0.0.7")
+ conflicts("cpp_compat=11", when="@:0.0.7")
+ conflicts("cpp_compat=14", when="@:0.0.7")
+ conflicts("cpp_compat=17", when="@:0.0.7")
+ conflicts("cpp_compat=20", when="@:0.0.7")
+
+ def max_cxx_version(self):
+ 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 = []
+ cpp_compat = self.spec.variants["cpp_compat"].value
+
+ if "cpp_unstable" in self.spec:
+ args.append("-DSTDCOMPAT_CXX_UNSTABLE=ON")
+
+ if cpp_compat == "auto":
+ args.append("-DSTDCOMPAT_CXX_VERSION=%s" % self.max_cxx_version())
+ elif cpp_compat == "11":
+ args.append("-DSTDCOMPAT_CXX_VERSION=11")
+ elif cpp_compat == "14":
+ args.append("-DSTDCOMPAT_CXX_VERSION=14")
+ elif cpp_compat == "17":
+ args.append("-DSTDCOMPAT_CXX_VERSION=17")
+ elif cpp_compat == "20":
+ args.append("-DSTDCOMPAT_CXX_VERSION=20")
+
+ if self.run_tests:
+ args.append("-DBUILD_TESTING=ON")
+ else:
+ args.append("-DBUILD_TESTING=OFF")
+ return args
+
+ @run_after("build")
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py
new file mode 100644
index 0000000000..1cc336c7a1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mgard/package.py
@@ -0,0 +1,45 @@
+# Copyright 2013-2022 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 Mgard(CMakePackage, CudaPackage):
+ """MGARD error bounded lossy compressor
+ forked from https://github.com/CODARcode/MGARD with patches to support Spack"""
+
+ # This is a research compressor with a fast evolving API. The fork is updated
+ # when releases are made with minimal changes to support spack
+
+ homepage = "https://github.com/CODARcode/MGARD"
+ git = "https://github.com/robertu94/MGARD"
+
+ maintainers = ["robertu94"]
+
+ version("2021-11-12", commit="3c05c80a45a51bb6cc5fb5fffe7b1b16787d3366")
+ version("2020-10-01", commit="b67a0ac963587f190e106cc3c0b30773a9455f7a")
+
+ depends_on("zlib")
+ depends_on("zstd")
+ depends_on("libarchive", when="@2021-11-12:")
+ depends_on("tclap", when="@2021-11-12:")
+ depends_on("yaml-cpp", when="@2021-11-12:")
+ depends_on("cmake@3.19:")
+ depends_on("nvcomp@2.0.2", when="+cuda")
+ conflicts("cuda_arch=none", when="+cuda")
+ conflicts("~cuda", when="@2021-11-12")
+
+ def cmake_args(self):
+ args = ["-DBUILD_TESTING=OFF"]
+ if "+cuda" in self.spec:
+ args.append("-DMGARD_ENABLE_CUDA=ON")
+ cuda_arch = self.spec.variants["cuda_arch"].value
+ args.append("-DCUDA_ARCH_STRING={}".format(";".join(cuda_arch)))
+ if "75" in cuda_arch:
+ args.append("-DMGARD_ENABLE_CUDA_OPTIMIZE_TURING=ON")
+ if "70" in cuda_arch:
+ args.append("-DMGARD_ENABLE_CUDA_OPTIMIZE_VOLTA=ON")
+
+ return args
diff --git a/var/spack/repos/builtin/packages/mgardx/package.py b/var/spack/repos/builtin/packages/mgardx/package.py
new file mode 100644
index 0000000000..8872e7cfe4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mgardx/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2022 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 Mgardx(CMakePackage):
+ """MGARD implementation for research purposes
+ forked from: https://github.com/lxAltria/MGARDx"""
+
+ # Some of the functionality of this compressor were moved to `MGARD` proper
+ # effectively retiring this package. This package lives on to access some of
+ # this functionality. Includes minor patches to support spack.
+
+ homepage = "https://github.com/lxAltria/MGARDx"
+ git = "https://github.com/robertu94/MGARDx"
+
+ maintainers = ["robertu94"]
+
+ variant("shared", description="build shared libraries", default=True)
+
+ version("2022-01-27", commit="aabe9de1a331eaeb8eec41125dd45e30c1d03af4")
+
+ depends_on("sz-cpp")
+ depends_on("pkgconfig")
+ depends_on("zstd")
+
+ def cmake_args(self):
+ args = [
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/ndzip/package.py b/var/spack/repos/builtin/packages/ndzip/package.py
new file mode 100644
index 0000000000..be8f7ab0e7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ndzip/package.py
@@ -0,0 +1,40 @@
+# Copyright 2013-2022 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 Ndzip(CMakePackage, CudaPackage):
+ """A High-Throughput Parallel Lossless Compressor for Scientific Data
+
+ forked from: https://github.com/fknorr/ndzip
+ """
+
+ # the upstream developer graduated and moved on to other tasks
+
+ url = "https://github.com/celerity/ndzip"
+ homepage = "https://github.com/fknorr/ndzip"
+ git = "https://github.com/robertu94/ndzip"
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("2021-11-30", commit="5b3c34991005c0924a339f2ec06750729ebbf015")
+
+ variant("cuda", description="build with cuda support", default=False)
+ variant("openmp", description="build with cuda support", default=False)
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant("NDZIP_WITH_CUDA", "cuda"),
+ self.define_from_variant("NDZIP_WITH_MT", "openmp"),
+ self.define("NDZIP_BUILD_BENCHMARK", False),
+ self.define("NDZIP_BUILD_TEST", self.run_tests),
+ self.define("NDZIP_USE_WERROR", False),
+ ]
+ if "+cuda" in self.spec and self.spec.variants["cuda_arch"].value != "none":
+ arch_str = ";".join(self.spec.variants["cuda_arch"].value)
+ args.append(self.define("CMAKE_CUDA_ARCHITECTURES", arch_str))
+ return args
diff --git a/var/spack/repos/builtin/packages/nvcomp/package.py b/var/spack/repos/builtin/packages/nvcomp/package.py
new file mode 100644
index 0000000000..353802225d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nvcomp/package.py
@@ -0,0 +1,34 @@
+# Copyright 2013-2022 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 Nvcomp(CMakePackage, CudaPackage):
+ """Last open source release of A library for fast lossless compression
+ /decompression on NVIDIA GPUs
+
+ forked from: https://github.com/NVIDIA/nvcomp after NVIDIA made this closed source
+ """
+
+ homepage = "https://github.com/NVIDIA/nvcomp"
+ url = "https://github.com/NVIDIA/nvcomp/archive/refs/tags/v2.0.2.tar.gz"
+
+ # pinned to the last open source release+a few minor patches
+ git = "https://github.com/robertu94/nvcomp"
+
+ maintainers = ["robertu94"]
+
+ version("2.2.0", commit="3737f6e5028ed1887b0023ad0fc033e139d57574")
+ version("2.0.2", commit="5d5c194f3449486d989057f632d10954b8d11d75")
+
+ depends_on("cuda")
+ conflicts("~cuda")
+
+ def cmake_args(self):
+ args = ["-DBUILD_EXAMPLES=OFF", "-DBUILD_BENCHMARKS=OFF"]
+ cuda_arch_list = self.spec.variants["cuda_arch"].value
+ args.append("CMAKE_CUDA_ARCHITECTURES={0}".format(";".join(cuda_arch_list)))
+ return args
diff --git a/var/spack/repos/builtin/packages/qcat/package.py b/var/spack/repos/builtin/packages/qcat/package.py
new file mode 100644
index 0000000000..d0753663e6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qcat/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2022 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 Qcat(CMakePackage):
+ """Quick data compression quality analysis tool"""
+
+ homepage = "https://github.com/szcompressor/qcat"
+ git = "https://github.com/szcompressor/qcat"
+
+ maintainers = ["disheng222", "robertu94"]
+
+ version("master", branch="master")
+ version("1.4", commit="f16032cf237837b1d32dde0c3daa6ad1ca4a912f")
+
+ depends_on("zstd")
+
+ def cmake_args(self):
+ args = ["-DQCAT_USE_BUNDLES=OFF"]
+ return args
diff --git a/var/spack/repos/builtin/packages/qoz/package.py b/var/spack/repos/builtin/packages/qoz/package.py
new file mode 100644
index 0000000000..81ca6bd794
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qoz/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2022 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 Qoz(CMakePackage):
+ """Quality optimized version of SZ3 is the next generation of the SZ compressor framework"""
+
+ git = "https://github.com/robertu94/QoZ"
+ homepage = git
+
+ version("2022.04.26", commit="d28a7a8c9f703075441b700202b8a1ee185ded00")
+
+ maintainers = ["disheng222"]
+
+ depends_on("zstd")
+ depends_on("gsl")
+ depends_on("pkgconfig")
+
+ def cmake_args(self):
+ args = [
+ "-DQoZ_USE_BUNDLED_ZSTD=OFF",
+ "-DQoZ_DEBUG_TIMINGS=OFF",
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/r-libpressio/package.py b/var/spack/repos/builtin/packages/r-libpressio/package.py
new file mode 100644
index 0000000000..94e90c59b9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-libpressio/package.py
@@ -0,0 +1,36 @@
+# Copyright 2013-2022 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 RLibpressio(RPackage):
+ """R package for libpressio"""
+
+ homepage = "https://github.com/robertu94/libpressio-r"
+ url = "https://github.com/robertu94/libpressio-r/archive/0.0.1.tar.gz"
+
+ maintainers = ["robertu94"]
+
+ version("1.6.0", sha256="4f8a712e5e84a201373a104e73b10282fcf98f1c7672cc1dd5a2ff07a32d54f6")
+ version("1.5.0", sha256="6b0e095610f190aad5dded0dbc6c0783893d4d5e773afc80328fc8c5befeff58")
+ version("1.4.1", sha256="fa9d47c84ddeb4edd9c5250067a87cc1bb549b9b1dd71e2501dd39ee4e171c27")
+ version("1.3.2", sha256="6afc907aa3663fbb9bfc7c92ca57e15d05ecbec59f94badec24e8da99ac1422f")
+ version("1.3", sha256="6ade53d30446de85d2bf6aff0f0a756887f970634b97456aec8b2920a96c0726")
+ version("1.2", sha256="e5889abf6aabd14b25b5c11e8ecc42cfe56681b1e4f7ade9c9fc28de213981b4")
+ version("1.1", sha256="b86a541e095b6e41b3548f6cd734c1ff50c70edda2806ed66b5205880fbfbb96")
+ version("0.0.1", sha256="a508cf3ec1b06c417e0de0e1e4180f3175ead2e4ec23b374425fcf2abfaa1b88")
+
+ variant(
+ "third_party", description="include support for 3rd party compressor modules", default=True
+ )
+
+ depends_on("r@3.3.0:", type=("build", "run"))
+ depends_on("r-rcpp", type=("build", "link", "run"))
+ depends_on("libpressio+json", type=("build", "link", "run"))
+ depends_on("libpressio@0.65.0:", type=("build", "link", "run"), when="@1.2:1.5")
+ depends_on("libpressio@0.88.0:", type=("build", "link", "run"), when="@1.6:")
+ depends_on("pkgconfig", type=("build"))
+ depends_on("libpressio-tools@0.1.4:", type=("build", "link", "run"), when="+third_party")
diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py
index 130ad46c9b..ffae98f8ef 100644
--- a/var/spack/repos/builtin/packages/r/package.py
+++ b/var/spack/repos/builtin/packages/r/package.py
@@ -214,16 +214,19 @@ class R(AutotoolsPackage):
# Use the number of make_jobs set in spack. The make program will
# determine how many jobs can actually be started.
env.set("MAKEFLAGS", "-j{0}".format(make_jobs))
+ env.set("R_HOME", join_path(self.prefix, "rlib", "R"))
def setup_dependent_run_environment(self, env, dependent_spec):
# For run time environment set only the path for dependent_spec and
# prepend it to R_LIBS
+ env.set("R_HOME", join_path(self.prefix, "rlib", "R"))
if dependent_spec.package.extends(self.spec):
env.prepend_path("R_LIBS", join_path(dependent_spec.prefix, self.r_lib_dir))
def setup_run_environment(self, env):
env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "rlib", "R", "lib"))
env.prepend_path("PKG_CONFIG_PATH", join_path(self.prefix, "rlib", "pkgconfig"))
+ env.set("R_HOME", join_path(self.prefix, "rlib", "R"))
if "+rmath" in self.spec:
env.prepend_path("LD_LIBRARY_PATH", join_path(self.prefix, "rlib"))
diff --git a/var/spack/repos/builtin/packages/sam2p/package.py b/var/spack/repos/builtin/packages/sam2p/package.py
new file mode 100644
index 0000000000..6c4c8e1cb0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sam2p/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2022 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 Sam2p(Package):
+ """A raster to PostScript/PDF image conversion program"""
+
+ homepage = "https://github.com/pts/sam2p"
+ url = "https://github.com/pts/sam2p/archive/v0.49.4.tar.gz"
+ git = homepage
+
+ maintainers = ["robertu94"]
+
+ version("master", branch="master")
+ version("2021-05-04", commit="f3e9cc0a2df1880a63f9f37c96e3595bca890cfa")
+
+ def install(self, spec, prefix):
+ compile_sh = Executable("./compile.sh")
+ compile_sh()
+ mkdirp(prefix.bin)
+ install("sam2p", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sperr/package.py b/var/spack/repos/builtin/packages/sperr/package.py
new file mode 100644
index 0000000000..4d7482aff1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sperr/package.py
@@ -0,0 +1,43 @@
+# Copyright 2013-2022 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 Sperr(CMakePackage):
+ """SPERR is a lossy scientific (floating-point) data compressor that can
+ perform either error-bounded or size-bounded data compression"""
+
+ homepage = "https://github.com/NCAR/SPERR"
+ git = homepage
+
+ version("2022.07.18", commit="640305d049db9e9651ebdd773e6936e2c028ff3a")
+ version("2022.05.26", commit="7894a5fe1b5ca5a4aaa952d1779dfc31fd741243")
+
+ depends_on("git", type="build")
+ depends_on("zstd", type=("build", "link"), when="+zstd")
+ depends_on("pkgconf", type=("build"), when="+zstd")
+
+ variant("shared", description="build shared libaries", default=True)
+ variant("zstd", description="use Zstd for more compression", default=True)
+ variant("openmp", description="use openmp for acceleration", default=True)
+
+ maintainers = ["shaomeng", "robertu94"]
+
+ def cmake_args(self):
+ # ensure the compiler supports OpenMP if it is used
+ if "+openmp" in self.spec:
+ self.compiler.openmp_flag
+
+ args = [
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("USE_ZSTD", "zstd"),
+ self.define_from_variant("USE_OMP", "openmp"),
+ "-DSPERR_PREFER_RPATH=OFF",
+ "-DUSE_BUNDLED_ZSTD=OFF",
+ "-DBUILD_CLI_UTILITIES=OFF",
+ "-DBUILD_UNIT_TESTS=OFF",
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/sz-cpp/package.py b/var/spack/repos/builtin/packages/sz-cpp/package.py
new file mode 100644
index 0000000000..34a5365a73
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sz-cpp/package.py
@@ -0,0 +1,29 @@
+# Copyright 2013-2022 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 SzCpp(CMakePackage):
+ """Refactorization of SZ in cpp"""
+
+ homepage = "https://github.com/robertu94/meta_compressor/"
+ git = "https://github.com/robertu94/meta_compressor/"
+
+ maintainers = ["robertu94"]
+
+ version("2022-01-27", commit="9441b79abc89d4bcce53fe18edf0df53fd92d1d7")
+
+ variant("shared", description="build shared libs", default=True)
+
+ depends_on("zstd")
+ depends_on("pkgconfig")
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define("BUILD_TESTING", self.run_tests),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/sz3/package.py b/var/spack/repos/builtin/packages/sz3/package.py
new file mode 100644
index 0000000000..80a8ff3b02
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sz3/package.py
@@ -0,0 +1,31 @@
+# Copyright 2013-2022 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 Sz3(CMakePackage):
+ """SZ3 is the next generation of the SZ compressor framework"""
+
+ homepage = "https://github.com/szcompressor/SZ3"
+ git = "https://github.com/szcompressor/SZ3"
+
+ maintainers = ["disheng222"]
+
+ version("master")
+ version("3.1.5.4", commit="08df24b566e6d2e419cb95553aebf4a4902a8015")
+ version("3.1.5.1", commit="5736a63b917e439dd62248b4ff6234e96726af5d")
+ version("3.1.3.1", commit="323cb17b412d657c4be681b52c34beaf933fe7af")
+ version("3.1.3", commit="695dff8dc326f3b165f6676d810f46add088a585")
+
+ depends_on("zstd")
+ depends_on("gsl")
+ depends_on("pkgconfig")
+
+ def cmake_args(self):
+ return [
+ "-DSZ3_USE_BUNDLED_ZSTD=OFF",
+ "-DSZ3_DEBUG_TIMINGS=OFF",
+ ]
diff --git a/var/spack/repos/builtin/packages/szauto/package.py b/var/spack/repos/builtin/packages/szauto/package.py
new file mode 100644
index 0000000000..744149d6e2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/szauto/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2022 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 Szauto(CMakePackage):
+ """SZauto: SZ C++ Version that Supports Second-Order Prediction and Parameter Optimization"""
+
+ homepage = "https://github.com/szcompressor/SZauto"
+ url = "https://github.com/szcompressor/SZauto/releases/download/1.0.0/SZauto-1.0.0.tar.gz"
+ git = "https://github.com/szcompressor/szauto"
+
+ maintainers = ["disheng222", "robertu94"]
+
+ version("master", branch="master")
+ version("1.2.1", sha256="55c58f58df3a874f684ef864a9247907df0501e5598c089fd2d855ae0309b03a")
+ version("1.0.0", commit="03f3ab0312bd1de647e9d65746add73a0e8602d2")
+
+ depends_on("zstd")
+ depends_on("pkgconfig")