summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorEthan Williams <37885088+ethanjjjjjjj@users.noreply.github.com>2023-09-26 01:53:28 +0100
committerGitHub <noreply@github.com>2023-09-25 18:53:28 -0600
commit5341834ebeb455c4552a92e8abf0143f475d0866 (patch)
tree0a2d123fa542243b17b7d55213a6b4ce4f6616e3 /var
parentfc027e34d14b4483f7aeb4e080d0f75df1b871a4 (diff)
downloadspack-5341834ebeb455c4552a92e8abf0143f475d0866.tar.gz
spack-5341834ebeb455c4552a92e8abf0143f475d0866.tar.bz2
spack-5341834ebeb455c4552a92e8abf0143f475d0866.tar.xz
spack-5341834ebeb455c4552a92e8abf0143f475d0866.zip
Elbencho: add elbencho package (#40193)
* add elbencho package * pep8 compliant * add description * depends on boost * boost options * dependencies * fix ncurses not linking properly missing tinfo * pep8 fix * fix style of boost variants * final style fix - spack style is happy * correct cufile env variable name --------- Co-authored-by: Ethan W <mail@ethanwilliams.xyz>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/elbencho/package.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/elbencho/package.py b/var/spack/repos/builtin/packages/elbencho/package.py
new file mode 100644
index 0000000000..a9417a4dfc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/elbencho/package.py
@@ -0,0 +1,71 @@
+# Copyright 2013-2023 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)
+
+import os
+
+from spack.package import *
+
+
+class Elbencho(MakefilePackage):
+
+ """
+ Elbencho storage benchmark
+ """
+
+ homepage = "https://github.com/breuner/elbencho"
+ url = "https://github.com/breuner/elbencho/archive/refs/tags/v3.0-1.tar.gz"
+
+ maintainers("ethanjjjjjjj")
+
+ version("3.0-1", sha256="19dad85e1fc74419dcdf740f11a47d3f6d566770a06e40976755a3404566c11d")
+ version("2.2-5", sha256="4b598639452665a8b79c4c9d8a22ae63fb9b04057635a45e686aa3939ee255b4")
+ version("2.2-3", sha256="0ae2d495d2863b84f21f55b7c526674fab1be723d0697087017946647f79d0e6")
+ version("2.1-5", sha256="5d2293dcdb766e9194bed964486a10b4c8c308cc1ba8c0044c6e5a2aadd4f199")
+ version("2.1-3", sha256="9d08aa0e83753666cb16a78320dfa5710350879f9f4f1e281dacd69f53249d01")
+ version("2.1-1", sha256="18be49f521df2fab4f16a1a9f00dd6104a25e5ea335ce8801bf07268ed9271a9")
+ version("2.0-9", sha256="fe0f67fbb7dd7c743f8b3e0a92358f7393f2950da456474d4adb38690fab1878")
+ version("2.0-7", sha256="a2e49cb2cf1ae99e46e9fa95b42ece250cb58fbadb4c393f9776b40204e8b2c0")
+
+ variant("s3", default=False, description="Enable support for s3 api")
+ variant("cuda", default=True, description="Enable CUDA support", when="+cufile")
+ variant("cuda", default=False, description="Enable CUDA support")
+ variant("cufile", default=False, description="GPU Direct Storage")
+
+ depends_on("cuda", when="+cuda")
+ depends_on(
+ """
+ boost
+ +filesystem+program_options
+ +thread
+ +system+date_time
+ +regex
+ +serialization
+ +iostreams
+ """
+ )
+ depends_on("ncurses")
+ depends_on("numactl")
+ depends_on("libaio")
+ depends_on("curl", when="+s3")
+ depends_on("libarchive", when="+s3")
+ depends_on("openssl", when="+s3")
+ depends_on("libuuid", when="+s3")
+ depends_on("zlib", when="+s3")
+ depends_on("cmake", when="+s3")
+
+ conflicts("+cufile", when="~cuda")
+
+ def edit(self, spec, prefix):
+ os.mkdir(prefix.bin)
+ os.environ["INST_PATH"] = prefix.bin
+ if "+s3" in spec:
+ os.environ["S3_SUPPORT"] = "1"
+ if "+cuda" in spec:
+ os.environ["CUDA_SUPPORT"] = "1"
+ if "+cufile" in spec:
+ os.environ["CUFILE_SUPPORT"] = "1"
+ makefile = FileFilter("Makefile")
+ makefile.filter(r"\s+/etc/bash_completion.d/", f" {prefix}/etc/bash_completion.d/")
+ makefile.filter(r"-lncurses", "-ltinfo -lncurses")