nixpkgs/pkgs/by-name/ra/raft-cowsql/package.nix
2024-02-11 15:52:21 +00:00

60 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, libuv
, lz4
, pkg-config
, incus
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "raft-cowsql";
version = "0.22.0";
src = fetchFromGitHub {
owner = "cowsql";
repo = "raft";
rev = "refs/tags/v${version}";
hash = "sha256-kd0PD45+CenlfRMp5O48uELyZ2gEtasCe7xNEzsKU+M=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libuv lz4 ];
enableParallelBuilding = true;
patches = [
# network tests either hang indefinitely, or fail outright
./disable-net-tests.patch
# missing dir check is flaky
./disable-missing-dir-test.patch
];
preConfigure = ''
substituteInPlace configure --replace /usr/bin/ " "
'';
doCheck = true;
outputs = [ "dev" "out" ];
passthru = {
inherit (incus) tests;
updateScript = gitUpdater {
rev-prefix = "v";
};
};
meta = with lib; {
description = "Asynchronous C implementation of the Raft consensus protocol";
homepage = "https://github.com/cowsql/raft";
license = licenses.lgpl3Only;
platforms = platforms.linux;
maintainers = teams.lxc.members;
};
}