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>
This commit is contained in:
		| @@ -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") | ||||
| 
 | ||||
|   | ||||
							
								
								
									
										36
									
								
								var/spack/repos/builtin/packages/dctz/package.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								var/spack/repos/builtin/packages/dctz/package.py
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										48
									
								
								var/spack/repos/builtin/packages/lc-framework/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								var/spack/repos/builtin/packages/lc-framework/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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 | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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 | ||||
| @@ -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"] | ||||
|   | ||||
							
								
								
									
										28
									
								
								var/spack/repos/builtin/packages/libpressio-jit/package.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								var/spack/repos/builtin/packages/libpressio-jit/package.py
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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:") | ||||
|   | ||||
| @@ -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 | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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:") | ||||
|   | ||||
| @@ -9,14 +9,18 @@ | ||||
| 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") | ||||
|   | ||||
| @@ -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:") | ||||
| 
 | ||||
|   | ||||
| @@ -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 = [] | ||||
|         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") | ||||
|         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") | ||||
|         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") | ||||
|         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") | ||||
|         # libpressio needs to know where to install the python libraries | ||||
|         if "+python" in self.spec: | ||||
|             args.append("-DLIBPRESSIO_PYTHON_SITELIB={0}".format(python_platlib)) | ||||
|         # help ensure that libpressio finds the correct HDF5 package | ||||
|         if "+hdf5" in self.spec: | ||||
|             args.append("-DHDF5_ROOT=" + self.spec["hdf5"].prefix) | ||||
|         return args | ||||
| 
 | ||||
|     def setup_run_environment(self, env): | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
							
								
								
									
										28
									
								
								var/spack/repos/builtin/packages/poorjit/package.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								var/spack/repos/builtin/packages/poorjit/package.py
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
| @@ -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") | ||||
|   | ||||
| @@ -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") | ||||
| 
 | ||||
|   | ||||
| @@ -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 @@ def cmake_args(self): | ||||
|             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: | ||||
|   | ||||
| @@ -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") | ||||
|   | ||||
							
								
								
									
										49
									
								
								var/spack/repos/builtin/packages/szx/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								var/spack/repos/builtin/packages/szx/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
		Reference in New Issue
	
	Block a user
	 Robert Underwood
					Robert Underwood