From b7f7af1713bfd0fe29a2705737c4e055cc5cc74f Mon Sep 17 00:00:00 2001 From: Matthieu Dorier Date: Tue, 28 Feb 2023 12:16:02 -0600 Subject: [PATCH] c-raft: add new package (#35735) Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/c-raft/package.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 var/spack/repos/builtin/packages/c-raft/package.py 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