summary refs log blame commit diff
path: root/pkgs/tools/misc/mongodb-tools/default.nix
blob: 723410183f1b94c73a79517c111d1f9d6e217311 (plain) (tree)
1
                                                                       


































                                                                    
{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:

let
  tools = [
    "bsondump" "mongodump" "mongoexport" "mongofiles" "mongoimport"
    "mongooplog" "mongorestore" "mongostat" "mongotop"
  ];
in
buildGoPackage rec {
  name = "mongo-tools-${version}";
  version = "3.0.12";
  rev = "r${version}";

  goPackagePath = "github.com/mongodb/mongo-tools";
  subPackages = map (t: t + "/main") tools;

  src = fetchgit {
    inherit rev;
    url = "https://github.com/mongodb/mongo-tools";
    sha256 = "142vxgniri1mfy2xmfgxhbdp6k6h8c5milv454krv1b51v43hsbm";
  };

  goDeps = ./deps.json;

  # Mongodb incorrectly names all of their binaries main
  # Let's work around this with our own installer
  preInstall = ''
    mkdir -p $bin/bin
  '' + toString (map (t: ''
      go install $goPackagePath/${t}/main
      mv go/bin/main $bin/bin/${t}
  ''
  ) tools) + ''  
    rm -r go/bin
  '';
}