nixpkgs/pkgs/servers/sql/cockroachdb/default.nix
2020-08-31 17:03:21 -07:00

64 lines
1.6 KiB
Nix

{ stdenv, buildGoPackage, fetchurl
, cmake, xz, which, autoconf
, ncurses6, libedit, libunwind
, installShellFiles
}:
let
darwinDeps = [ libunwind libedit ];
linuxDeps = [ ncurses6 ];
buildInputs = if stdenv.isDarwin then darwinDeps else linuxDeps;
nativeBuildInputs = [ installShellFiles cmake xz which autoconf ];
in
buildGoPackage rec {
pname = "cockroach";
version = "20.1.4";
goPackagePath = "github.com/cockroachdb/cockroach";
src = fetchurl {
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
sha256 = "1m82m776axyf7b5f1lzlv5y7zslyhikfxjgagqy7ci5zwn8j4i0n";
};
NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.cc.isGNU [ "-Wno-error=deprecated-copy" "-Wno-error=redundant-move" "-Wno-error=pessimizing-move" ];
inherit nativeBuildInputs buildInputs;
buildPhase = ''
runHook preBuild
cd $NIX_BUILD_TOP/go/src/${goPackagePath}
patchShebangs .
make buildoss
cd src/${goPackagePath}
for asset in man autocomplete; do
./cockroachoss gen $asset
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D cockroachoss $out/bin/cockroach
installShellCompletion cockroach.bash
mkdir -p $man/share/man
cp -r man $man/share/man
runHook postInstall
'';
outputs = [ "out" "man" ];
meta = with stdenv.lib; {
homepage = "https://www.cockroachlabs.com";
description = "A scalable, survivable, strongly-consistent SQL database";
license = licenses.asl20;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ rushmorem thoughtpolice rvolosatovs ];
};
}