cockroachdb: 2.0.0 -> 2.1.1, aarch64 support
This also splits the .bin output to have a separate .man attribute: previously it contained both. This also adds provisional support for aarch64-linux, which seems to build easily. (Full testing will ideally come via NixOS tests later) Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
parent
43762227f8
commit
c90a45a383
@ -1,18 +1,28 @@
|
|||||||
{ stdenv, buildGoPackage, fetchurl, cmake, xz, which, autoconf, ncurses6, libedit }:
|
{ stdenv, buildGoPackage, fetchurl
|
||||||
|
, cmake, xz, which, autoconf
|
||||||
|
, ncurses6, libedit, libunwind
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
darwinDeps = [ libunwind libedit ];
|
||||||
|
linuxDeps = [ ncurses6 ];
|
||||||
|
|
||||||
|
buildInputs = if stdenv.isDarwin then darwinDeps else linuxDeps;
|
||||||
|
nativeBuildInputs = [ cmake xz which autoconf ];
|
||||||
|
|
||||||
|
in
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "cockroach-${version}";
|
name = "cockroach-${version}";
|
||||||
version = "2.0.0";
|
version = "2.1.1";
|
||||||
|
|
||||||
goPackagePath = "github.com/cockroachdb/cockroach";
|
goPackagePath = "github.com/cockroachdb/cockroach";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
|
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
|
||||||
sha256 = "0x8hf5qwvgb2w6dcnvy20v77nf19f0l1pb40jf31rm72xhk3bwvy";
|
sha256 = "1z34zlwznh4lgbc1ryn577w7mmycyjbmz28k1hhhb6ricmk1x847";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ (if stdenv.isDarwin then libedit else ncurses6) ];
|
inherit nativeBuildInputs buildInputs;
|
||||||
nativeBuildInputs = [ cmake xz which autoconf ];
|
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
@ -21,24 +31,34 @@ buildGoPackage rec {
|
|||||||
make buildoss
|
make buildoss
|
||||||
cd src/${goPackagePath}
|
cd src/${goPackagePath}
|
||||||
for asset in man autocomplete; do
|
for asset in man autocomplete; do
|
||||||
./cockroach gen $asset
|
./cockroachoss gen $asset
|
||||||
done
|
done
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
install -D cockroach $bin/bin/cockroach
|
|
||||||
|
install -D cockroachoss $bin/bin/cockroach
|
||||||
install -D cockroach.bash $bin/share/bash-completion/completions/cockroach.bash
|
install -D cockroach.bash $bin/share/bash-completion/completions/cockroach.bash
|
||||||
cp -r man $bin/share/man
|
|
||||||
|
mkdir -p $man/share/man
|
||||||
|
cp -r man $man/share/man
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Unfortunately we have to keep an empty reference to $out, because it seems
|
||||||
|
# buildGoPackages only nukes references to the go compiler under $bin, effectively
|
||||||
|
# making all binary output under $bin mandatory. Ideally, we would just use
|
||||||
|
# $out and $man and remove $bin since there's no point in an empty path. :(
|
||||||
|
outputs = [ "bin" "man" "out" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://www.cockroachlabs.com;
|
homepage = https://www.cockroachlabs.com;
|
||||||
description = "A scalable, survivable, strongly-consistent SQL database";
|
description = "A scalable, survivable, strongly-consistent SQL database";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||||
maintainers = [ maintainers.rushmorem ];
|
maintainers = with maintainers; [ rushmorem thoughtpolice ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user