nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildGoModule,
5 fetchFromGitHub,
6 installShellFiles,
7 versionCheckHook,
8 writableTmpDirAsHomeHook,
9}:
10
11buildGoModule (finalAttrs: {
12 pname = "qovery-cli";
13 version = "1.57.1";
14
15 src = fetchFromGitHub {
16 owner = "Qovery";
17 repo = "qovery-cli";
18 tag = "v${finalAttrs.version}";
19 hash = "sha256-2JuAOry4JKsgSxW3eSM67Ri0HDJPV28O5yKZKbcHR8k=";
20 };
21
22 vendorHash = "sha256-/LUA1c9ye7eO47HZVaz9i+sjs9sNSpT9JVGnzr4lLg0=";
23
24 env.CGO_ENABLED = 0;
25
26 ldflags = [ "-X github.com/qovery/qovery-cli/utils.Version=v${finalAttrs.version}" ];
27
28 nativeBuildInputs = [ installShellFiles ];
29
30 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
31 installShellCompletion --cmd qovery-cli \
32 --bash <($out/bin/qovery-cli completion bash) \
33 --fish <($out/bin/qovery-cli completion fish) \
34 --zsh <($out/bin/qovery-cli completion zsh)
35 '';
36
37 # need network
38 doCheck = false;
39
40 doInstallCheck = true;
41
42 nativeInstallCheckInputs = [
43 versionCheckHook
44 writableTmpDirAsHomeHook
45 ];
46
47 versionCheckKeepEnvironment = [ "HOME" ];
48
49 versionCheckProgramArg = "version";
50
51 meta = {
52 description = "Qovery Command Line Interface";
53 homepage = "https://github.com/Qovery/qovery-cli";
54 changelog = "https://github.com/Qovery/qovery-cli/releases/tag/v${finalAttrs.version}";
55 license = with lib.licenses; [ asl20 ];
56 maintainers = with lib.maintainers; [ fab ];
57 mainProgram = "qovery-cli";
58 };
59})