45 lines
1.2 KiB
Nix
45 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
buildGoModule,
|
|
fetchFromGitHub,
|
|
}:
|
|
|
|
buildGoModule rec {
|
|
pname = "serf";
|
|
version = "0.10.1";
|
|
rev = "a2bba5676d6e37953715ea10e583843793a0c507";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "hashicorp";
|
|
repo = "serf";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-8cWSWRfge5UjNzgA1Qp4AzbgIfGBum/ghHcB8H8MyCE=";
|
|
};
|
|
|
|
vendorHash = "sha256-6Kw0Co6vaBNkvVyK64wo9/39YF5UwuJg04EPoYwCP1c=";
|
|
|
|
subPackages = [ "cmd/serf" ];
|
|
|
|
# These values are expected by version/version.go
|
|
# https://github.com/hashicorp/serf/blob/7faa1b06262f70780c3c35ac25a4c96d754f06f3/version/version.go#L8-L22
|
|
ldflags = lib.mapAttrsToList (n: v: "-X github.com/hashicorp/serf/version.${n}=${v}") {
|
|
GitCommit = rev;
|
|
Version = version;
|
|
VersionPrerelease = "";
|
|
};
|
|
|
|
# There are no tests for cmd/serf.
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Service orchestration and management tool";
|
|
mainProgram = "serf";
|
|
longDescription = ''
|
|
Serf is a decentralized solution for service discovery and orchestration
|
|
that is lightweight, highly available, and fault tolerant.
|
|
'';
|
|
homepage = "https://www.serf.io";
|
|
license = licenses.mpl20;
|
|
maintainers = with maintainers; [ pradeepchhetri ];
|
|
};
|
|
}
|