1{
2 lib,
3 stdenv,
4 buildGoModule,
5 fetchFromGitHub,
6 installShellFiles,
7}:
8
9buildGoModule rec {
10 pname = "eksctl";
11 version = "0.214.0";
12
13 src = fetchFromGitHub {
14 owner = "weaveworks";
15 repo = "eksctl";
16 rev = version;
17 hash = "sha256-JsVW1JC3VdxCJpngPCkrIbH5B/YlAKOc/SOIEo7s8mo=";
18 };
19
20 vendorHash = "sha256-0tdhi2uqC1aIK9Nkfr9OuV0mCWiT0sNX1W3hgz1vslU=";
21
22 doCheck = false;
23
24 subPackages = [ "cmd/eksctl" ];
25
26 tags = [
27 "netgo"
28 "release"
29 ];
30
31 ldflags = [
32 "-s"
33 "-w"
34 "-X github.com/weaveworks/eksctl/pkg/version.gitCommit=${src.rev}"
35 "-X github.com/weaveworks/eksctl/pkg/version.buildDate=19700101-00:00:00"
36 ];
37
38 nativeBuildInputs = [ installShellFiles ];
39
40 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
41 installShellCompletion --cmd eksctl \
42 --bash <($out/bin/eksctl completion bash) \
43 --fish <($out/bin/eksctl completion fish) \
44 --zsh <($out/bin/eksctl completion zsh)
45 '';
46
47 meta = {
48 description = "CLI for Amazon EKS";
49 homepage = "https://github.com/weaveworks/eksctl";
50 changelog = "https://github.com/eksctl-io/eksctl/releases/tag/v${version}";
51 license = lib.licenses.asl20;
52 maintainers = with lib.maintainers; [
53 xrelkd
54 Chili-Man
55 ryan4yin
56 ];
57 mainProgram = "eksctl";
58 };
59}