diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/stripe-cli/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/admin/stripe-cli/default.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix new file mode 100644 index 000000000000..45fdbff60321 --- /dev/null +++ b/nixpkgs/pkgs/tools/admin/stripe-cli/default.nix @@ -0,0 +1,78 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, stdenv }: + +buildGoModule rec { + pname = "stripe-cli"; + version = "1.17.2"; + + src = fetchFromGitHub { + owner = "stripe"; + repo = pname; + rev = "v${version}"; + hash = "sha256-MzzjrGtqbtZMvfL7dPAsKHF2ZTneSdtDuwHQQcyrQDw="; + }; + vendorHash = "sha256-DYA6cu2KzEBZ4wsT7wjcdY1endQQOZlj2aOwu6iGLew="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/stripe/stripe-cli/pkg/version.Version=${version}" + ]; + + preCheck = '' + # the tests expect the Version ldflag not to be set + unset ldflags + + # requires internet access + rm pkg/cmd/plugin_cmds_test.go + rm pkg/cmd/resources_test.go + rm pkg/cmd/root_test.go + + # TODO: no clue why it's broken (1.17.1), remove for now. + rm pkg/login/client_login_test.go + rm pkg/git/editor_test.go + rm pkg/rpcservice/sample_create_test.go + '' + lib.optionalString ( + # delete plugin tests on all platforms but exact matches + # https://github.com/stripe/stripe-cli/issues/850 + ! lib.lists.any + (platform: lib.meta.platformMatch stdenv.hostPlatform platform) + [ "x86_64-linux" "x86_64-darwin" ] + ) '' + rm pkg/plugins/plugin_test.go + ''; + + postInstall = '' + installShellCompletion --cmd stripe \ + --bash <($out/bin/stripe completion --write-to-stdout --shell bash) \ + --zsh <($out/bin/stripe completion --write-to-stdout --shell zsh) + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/stripe --help + $out/bin/stripe --version | grep "${version}" + runHook postInstallCheck + ''; + + meta = with lib; { + homepage = "https://stripe.com/docs/stripe-cli"; + changelog = "https://github.com/stripe/stripe-cli/releases/tag/v${version}"; + description = "A command-line tool for Stripe"; + longDescription = '' + The Stripe CLI helps you build, test, and manage your Stripe integration + right from the terminal. + + With the CLI, you can: + Securely test webhooks without relying on 3rd party software + Trigger webhook events or resend events for easy testing + Tail your API request logs in real-time + Create, retrieve, update, or delete API objects. + ''; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ RaghavSood jk kashw2 ]; + mainProgram = "stripe"; + }; +} |