python313Packages.traits: fix build (#373698)
[NixPkgs.git] / pkgs / applications / networking / cluster / kuma / default.nix
blob44a91c5cb7c937231bdc58f7af15173ca735e686
1 { lib
2 , fetchFromGitHub
3 , buildGoModule
4 , coredns
5 , installShellFiles
6 , isFull ? false
7 , enableGateway ? false
8 , pname ? "kuma"
9 , components ? lib.optionals isFull [
10     "kumactl"
11     "kuma-cp"
12     "kuma-dp"
13   ]
16 buildGoModule rec {
17   inherit pname;
18   version = "2.9.2";
19   tags = lib.optionals enableGateway [ "gateway" ];
21   src = fetchFromGitHub {
22     owner = "kumahq";
23     repo = "kuma";
24     rev = version;
25     hash = "sha256-c7ps2J15Hms1sM3e4uPvKZwYjhudEdw+220jNQemxag=";
26   };
28   vendorHash = "sha256-++oL9OetEApRdfjypknPE3GFjLZbKexjtnySIOZJg8U=";
30   # no test files
31   doCheck = false;
33   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals isFull [ coredns ];
35   preBuild = ''
36     export HOME=$TMPDIR
37   '';
39   subPackages = map (p: "app/" + p) components;
41   postInstall = lib.concatMapStringsSep "\n" (p: ''
42     installShellCompletion --cmd ${p} \
43       --bash <($out/bin/${p} completion bash) \
44       --fish <($out/bin/${p} completion fish) \
45       --zsh <($out/bin/${p} completion zsh)
46   '') components + lib.optionalString isFull ''
47     ln -sLf ${coredns}/bin/coredns $out/bin
48   '';
50   ldflags = let
51     prefix = "github.com/kumahq/kuma/pkg/version";
52   in [
53     "-s" "-w"
54     "-X ${prefix}.version=${version}"
55     "-X ${prefix}.gitTag=${version}"
56     "-X ${prefix}.gitCommit=${version}"
57     "-X ${prefix}.buildDate=${version}"
58   ];
60   meta = with lib; {
61     description = "Service mesh controller";
62     homepage = "https://kuma.io/";
63     changelog = "https://github.com/kumahq/kuma/blob/${version}/CHANGELOG.md";
64     license = licenses.asl20;
65     maintainers = with maintainers; [ zbioe ];
66   };