Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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}