1{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
2
3let
4 tools = [
5 "bsondump" "mongodump" "mongoexport" "mongofiles" "mongoimport"
6 "mongooplog" "mongorestore" "mongostat" "mongotop"
7 ];
8in
9buildGoPackage rec {
10 name = "mongo-tools-${version}";
11 version = "3.0.12";
12 rev = "r${version}";
13
14 goPackagePath = "github.com/mongodb/mongo-tools";
15 subPackages = map (t: t + "/main") tools;
16
17 src = fetchFromGitHub {
18 inherit rev;
19 owner = "mongodb";
20 repo = "mongo-tools";
21 sha256 = "142vxgniri1mfy2xmfgxhbdp6k6h8c5milv454krv1b51v43hsbm";
22 };
23
24 goDeps = ./deps.nix;
25
26 # Mongodb incorrectly names all of their binaries main
27 # Let's work around this with our own installer
28 preInstall = ''
29 mkdir -p $bin/bin
30 '' + toString (map (t: ''
31 go install $goPackagePath/${t}/main
32 mv go/bin/main $bin/bin/${t}
33 ''
34 ) tools) + ''
35 rm -r go/bin
36 '';
37}