diff --git a/pkgs/tools/admin/copilot-cli/default.nix b/pkgs/tools/admin/copilot-cli/default.nix new file mode 100644 index 000000000000..3e12116d6e2a --- /dev/null +++ b/pkgs/tools/admin/copilot-cli/default.nix @@ -0,0 +1,47 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, copilot-cli }: + +buildGoModule rec { + pname = "copilot-cli"; + version = "1.19.0"; + + src = fetchFromGitHub { + owner = "aws"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-2zF/cBc6TjAcFAI3zJ0yBQrVWDK5nkxYYkb04bjSjgY="; + }; + + vendorSha256 = "sha256-1UFahXol1Lceccr/f24Mbhtk8bWyh4+Mb5VYZvF6VWs="; + + nativeBuildInputs = [ installShellFiles ]; + + # follow LINKER_FLAGS in Makefile + ldflags = [ + "-s" + "-w" + "-X github.com/aws/copilot-cli/internal/pkg/version.Version=${version}" + "-X github.com/aws/copilot-cli/internal/pkg/cli.binaryS3BucketPath=https://ecs-cli-v2-release.s3.amazonaws.com" + ]; + + subPackages = [ "./cmd/copilot" ]; + + postInstall = '' + installShellCompletion --cmd copilot \ + --bash <($out/bin/copilot completion bash) \ + --fish <($out/bin/copilot completion fish) \ + --zsh <($out/bin/copilot completion zsh) + ''; + + passthru.tests.version = testers.testVersion { + package = copilot-cli; + command = "copilot version"; + }; + + meta = with lib; { + description = "Build, Release and Operate Containerized Applications on AWS."; + homepage = "https://github.com/aws/copilot-cli"; + changelog = "https://github.com/aws/copilot-cli/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ jiegec ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce94bb7392ea..aad139299879 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -386,6 +386,8 @@ with pkgs; coordgenlibs = callPackage ../development/libraries/coordgenlibs { }; + copilot-cli = callPackage ../tools/admin/copilot-cli { }; + cp437 = callPackage ../tools/misc/cp437 { }; cpm = callPackage ../development/tools/cpm { };