summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMatthieu Dorier <matthieu.dorier@gmail.com>2023-02-28 12:16:02 -0600
committerGitHub <noreply@github.com>2023-02-28 11:16:02 -0700
commitb7f7af1713bfd0fe29a2705737c4e055cc5cc74f (patch)
tree66f098e9b1f65a14d4a2dc7a29b733c8cc92b3b9 /var
parente5bd319c19d1c5bb2f41e708c77a477a3f6658b8 (diff)
downloadspack-b7f7af1713bfd0fe29a2705737c4e055cc5cc74f.tar.gz
spack-b7f7af1713bfd0fe29a2705737c4e055cc5cc74f.tar.bz2
spack-b7f7af1713bfd0fe29a2705737c4e055cc5cc74f.tar.xz
spack-b7f7af1713bfd0fe29a2705737c4e055cc5cc74f.zip
c-raft: add new package (#35735)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/c-raft/package.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/c-raft/package.py b/var/spack/repos/builtin/packages/c-raft/package.py
new file mode 100644
index 0000000000..fd679f4a9e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/c-raft/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 CRaft(AutotoolsPackage):
+ """C implementation of the Raft consensus protocol."""
+
+ homepage = "https://raft.readthedocs.io/en/latest/"
+ git = "https://github.com/canonical/raft.git"
+ url = "https://github.com/canonical/raft/archive/refs/tags/v0.17.1.tar.gz"
+
+ maintainers = ["mdorier"]
+
+ version("master", branch="master")
+ version("0.17.1", sha256="e31c7fafbdd5f94913161c5d64341a203364e512524b47295c97a91e83c4198b")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ variant("uv", default=True, description="Enable libuv support")
+
+ depends_on("libuv@1.18.0:", when="+uv")
+
+ def autoreconf(self, spec, prefix):
+ autoreconf("--install", "--verbose", "--force")
+
+ def configure_args(self):
+ args = ["--disable-lz4"]
+ args += self.enable_or_disable("uv")
+ return args