diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a3cc89d57ed7..571363a4510f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13364,6 +13364,12 @@ githubId = 37505890; name = "Luis Wirth"; }; + lu1a = { + email = "lu5a@proton.me"; + github = "lu1a"; + githubId = 83420438; + name = "Lewis"; + }; LucaGuerra = { email = "luca@guerra.sh"; github = "LucaGuerra"; diff --git a/pkgs/by-name/up/upcloud-cli/package.nix b/pkgs/by-name/up/upcloud-cli/package.nix new file mode 100644 index 000000000000..05f2c95084f8 --- /dev/null +++ b/pkgs/by-name/up/upcloud-cli/package.nix @@ -0,0 +1,49 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, +}: + +buildGoModule rec { + pname = "upcloud-cli"; + version = "3.14.0"; + + src = fetchFromGitHub { + owner = "UpCloudLtd"; + repo = "upcloud-cli"; + tag = "v${version}"; + hash = "sha256-zKPoJFfgqi6ZIeZKJy7YeYuqHWVPH0LXvWpOYCEM7dE="; + }; + + vendorHash = "sha256-76bLk4zten9SGXbt/M8VKPSylCwQqclyscSVQQaAtbA="; + + ldflags = [ + "-s -w -X github.com/UpCloudLtd/upcloud-cli/v3/internal/config.Version=${version}" + ]; + + subPackages = [ + "cmd/upctl" + "internal/*" + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/upctl"; + versionCheckProgramArg = [ "version" ]; + doInstallCheck = true; + + passthru = { + updateScript = lib.nix-update-script { }; + }; + + meta = { + changelog = "https://github.com/UpCloudLtd/upcloud-cli/blob/refs/tags/v${version}/CHANGELOG.md"; + description = "Command-line tool for managing UpCloud services"; + homepage = "https://github.com/UpCloudLtd/upcloud-cli"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lu1a ]; + mainProgram = "upctl"; + }; +}