Files
nixpkgs/pkgs/by-name/bl/blockbook/package.nix
2026-02-19 18:52:38 +01:00

90 lines
1.6 KiB
Nix

{
lib,
buildGoModule,
bzip2,
fetchFromGitHub,
lz4,
nixosTests,
pkg-config,
rocksdb_9_10,
snappy,
stdenv,
zeromq,
zlib,
}:
let
rocksdb = rocksdb_9_10;
in
buildGoModule rec {
pname = "blockbook";
version = "0.5.0";
commit = "657cbcf";
src = fetchFromGitHub {
owner = "trezor";
repo = "blockbook";
rev = "v${version}";
hash = "sha256-8/tyqmZE9NJWGg7zYcdei0f1lpXfehy6LM6k5VHW33g=";
};
proxyVendor = true;
vendorHash = "sha256-W29AvzfleCYC2pgHj2OB00PWBTcD2UUDbDH/z5A3bQ4=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
bzip2
lz4
rocksdb
snappy
zeromq
zlib
];
ldflags = [
"-X github.com/trezor/blockbook/common.version=${version}"
"-X github.com/trezor/blockbook/common.gitcommit=${commit}"
"-X github.com/trezor/blockbook/common.buildDate=unknown"
];
env.CGO_LDFLAGS = toString [
"-L${lib.getLib stdenv.cc.cc}/lib"
"-lrocksdb"
"-lz"
"-lbz2"
"-lsnappy"
"-llz4"
"-lm"
"-lstdc++"
];
preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
ulimit -n 8192
'';
subPackages = [ "." ];
postInstall = ''
mkdir -p $out/share/
cp -r $src/static/templates/ $out/share/
cp -r $src/static/css/ $out/share/
'';
passthru.tests = {
smoke-test = nixosTests.blockbook-frontend;
};
meta = {
description = "Trezor address/account balance backend";
homepage = "https://github.com/trezor/blockbook";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
mmahut
];
platforms = lib.platforms.unix;
mainProgram = "blockbook";
};
}