1{
2 stdenv,
3 fetchFromGitHub,
4 lib,
5 buildGoModule,
6 installShellFiles,
7 nix-update-script,
8}:
9
10buildGoModule rec {
11 pname = "mongodb-cli";
12 version = "2.0.5";
13
14 src = fetchFromGitHub {
15 owner = "mongodb";
16 repo = "mongodb-cli";
17 tag = "mongocli/v${version}";
18 hash = "sha256-PL4GS+HpxAiaGgnW5jnOWCmxEWAwkAiquFXShFBeqYY=";
19 };
20
21 vendorHash = "sha256-khEkagnUqgfUBoOmeCxbkC2N/ER0oMkyg57AW3oB3i8=";
22
23 subPackages = [ "cmd/mongocli" ];
24
25 nativeBuildInputs = [ installShellFiles ];
26 postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
27 installShellCompletion --cmd mongocli \
28 --bash <($out/bin/mongocli completion bash) \
29 --fish <($out/bin/mongocli completion fish) \
30 --zsh <($out/bin/mongocli completion zsh)
31 '';
32
33 passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=mongocli/v(.+)" ]; };
34
35 meta = {
36 description = "Manage your MongoDB via ops manager and cloud manager";
37 homepage = "https://github.com/mongodb/mongodb-cli";
38 changelog = "https://www.mongodb.com/docs/mongocli/current/release-notes/#mongodb-cli-${version}";
39 license = lib.licenses.asl20;
40 maintainers = [ lib.maintainers.iamanaws ];
41 mainProgram = "mongocli";
42 };
43}