biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / etcd / 3.5 / default.nix
blob2cd6cdefcb8c025a406c3be425ad15ff5a5d8e07
1 { lib, buildGoModule, fetchFromGitHub, symlinkJoin, nixosTests, k3s }:
3 let
4   version = "3.5.13";
5   etcdSrcHash = "sha256-6dQXgM6VEWwv5CfHvxxPxdhMwNjFsinwhsbSqvQoDxI=";
6   etcdServerVendorHash = "sha256-PB4gACfeYhdOXYs0xbcq2CmSMJnf/ifX2U2DN6zfJ1o=";
7   etcdUtlVendorHash = "sha256-f23mn4zE6beM8yPSbs9gEEEifyF2D+CVKdlYwQtzAkQ=";
8   etcdCtlVendorHash = "sha256-gSlyhmLKarDwc+MhYuTeTqwj0wLiN6+k2bHEVVTkyPc=";
10   src = fetchFromGitHub {
11     owner = "etcd-io";
12     repo = "etcd";
13     rev = "v${version}";
14     hash = etcdSrcHash;
15   };
17   CGO_ENABLED = 0;
19   meta = with lib; {
20     description = "Distributed reliable key-value store for the most critical data of a distributed system";
21     license = licenses.asl20;
22     homepage = "https://etcd.io/";
23     maintainers = with maintainers; [ endocrimes offline superherointj ];
24     platforms = platforms.darwin ++ platforms.linux;
25   };
27   etcdserver = buildGoModule rec {
28     pname = "etcdserver";
30     inherit CGO_ENABLED meta src version;
32     vendorHash = etcdServerVendorHash;
34     modRoot = "./server";
36     preInstall = ''
37       mv $GOPATH/bin/{server,etcd}
38     '';
40     # We set the GitSHA to `GitNotFound` to match official build scripts when
41     # git is unavailable. This is to avoid doing a full Git Checkout of etcd.
42     # User facing version numbers are still available in the binary, just not
43     # the sha it was built from.
44     ldflags = [ "-X go.etcd.io/etcd/api/v3/version.GitSHA=GitNotFound" ];
45   };
47   etcdutl = buildGoModule rec {
48     pname = "etcdutl";
50     inherit CGO_ENABLED meta src version;
52     vendorHash = etcdUtlVendorHash;
54     modRoot = "./etcdutl";
55   };
57   etcdctl = buildGoModule rec {
58     pname = "etcdctl";
60     inherit CGO_ENABLED meta src version;
62     vendorHash = etcdCtlVendorHash;
64     modRoot = "./etcdctl";
65   };
67 symlinkJoin {
68   name = "etcd-${version}";
70   inherit meta version;
72   passthru = {
73     inherit etcdserver etcdutl etcdctl;
74     tests = {
75       inherit (nixosTests) etcd etcd-cluster;
76       k3s = k3s.passthru.tests.etcd;
77     };
78     updateScript = ./update.sh;
79   };
81   paths = [
82     etcdserver
83     etcdutl
84     etcdctl
85   ];