1{ stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, buildPackages }:
2
3buildGoModule rec {
4 pname = "doctl";
5 version = "1.96.1";
6
7 vendorHash = null;
8
9 doCheck = false;
10
11 subPackages = [ "cmd/doctl" ];
12
13 ldflags = let t = "github.com/digitalocean/doctl"; in [
14 "-X ${t}.Major=${lib.versions.major version}"
15 "-X ${t}.Minor=${lib.versions.minor version}"
16 "-X ${t}.Patch=${lib.versions.patch version}"
17 "-X ${t}.Label=release"
18 ];
19
20 nativeBuildInputs = [ installShellFiles ];
21
22 postInstall = ''
23 export HOME=$(mktemp -d) # attempts to write to /homeless-shelter
24 for shell in bash fish zsh; do
25 ${stdenv.hostPlatform.emulator buildPackages} $out/bin/doctl completion $shell > doctl.$shell
26 installShellCompletion doctl.$shell
27 done
28 '';
29
30 src = fetchFromGitHub {
31 owner = "digitalocean";
32 repo = "doctl";
33 rev = "v${version}";
34 sha256 = "sha256-COkD0YFij07mHpkeJSnZXLaB9olZGBN/HpFb06ag4Rs=";
35 };
36
37 meta = with lib; {
38 description = "A command line tool for DigitalOcean services";
39 homepage = "https://github.com/digitalocean/doctl";
40 license = licenses.asl20;
41 maintainers = [ maintainers.siddharthist ];
42 };
43}