1{
2 rustPlatform,
3 fetchFromGitHub,
4 lib,
5 installShellFiles,
6 openssl,
7 pkg-config,
8 stdenv,
9}:
10rustPlatform.buildRustPackage rec {
11 pname = "sentry-cli";
12 version = "2.50.2";
13
14 src = fetchFromGitHub {
15 owner = "getsentry";
16 repo = "sentry-cli";
17 rev = version;
18 hash = "sha256-hYJVfKoUZHfqKHqmF1lZyx5MDkILVsibYLLcb9TZ8yw=";
19 };
20 doCheck = false;
21
22 # Needed to get openssl-sys to use pkgconfig.
23 OPENSSL_NO_VENDOR = 1;
24
25 buildInputs = [ openssl ];
26 nativeBuildInputs = [
27 installShellFiles
28 pkg-config
29 ];
30
31 cargoHash = "sha256-yAZrjFGSeEA4A0tJZlvyHakbhlZT3gaE6HpKhJzHIFQ=";
32
33 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
34 installShellCompletion --cmd sentry-cli \
35 --bash <($out/bin/sentry-cli completions bash) \
36 --fish <($out/bin/sentry-cli completions fish) \
37 --zsh <($out/bin/sentry-cli completions zsh)
38 '';
39
40 meta = {
41 homepage = "https://docs.sentry.io/cli/";
42 license = lib.licenses.bsd3;
43 description = "Command line utility to work with Sentry";
44 mainProgram = "sentry-cli";
45 changelog = "https://github.com/getsentry/sentry-cli/raw/${version}/CHANGELOG.md";
46 maintainers = with lib.maintainers; [ rizary ];
47 };
48}