diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/blockbook/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/blockbook/default.nix | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/blockbook/default.nix b/nixpkgs/pkgs/servers/blockbook/default.nix new file mode 100644 index 000000000000..4afabb858c38 --- /dev/null +++ b/nixpkgs/pkgs/servers/blockbook/default.nix @@ -0,0 +1,71 @@ +{ stdenv +, buildGoModule +, lib +, fetchFromGitHub +, rocksdb +, bzip2 +, zlib +, packr +, snappy +, pkg-config +, zeromq +, lz4 +}: + +buildGoModule rec { + pname = "blockbook"; + version = "0.3.4"; + commit = "eb4e10a"; + + src = fetchFromGitHub { + owner = "trezor"; + repo = "blockbook"; + rev = "v${version}"; + sha256 = "0da1kav5x2xcmwvdgfk1q70l1k0sqqj3njgx2xx885d40m6qbnrs"; + }; + + vendorSha256 = "1qjlvhizl8cy06cgf4phia70bgbm4lj57z5z2gyr8aglx98bnpdn"; + + buildInputs = [ bzip2 zlib snappy zeromq lz4 ]; + + nativeBuildInputs = [ pkg-config packr ]; + + buildFlagsArray = '' + -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 + ''; + + goethereum = fetchFromGitHub { + owner = "ethereum"; + repo = "go-ethereum"; + rev = "v1.8.20"; + sha256 = "0m2q1nz6f39pyr2rk6vflkwi4ykganzwr7wndpwr9rliw0x8jgi0"; + }; + + overrideModAttrs = (_: { + postBuild = '' + rm -r vendor/github.com/ethereum/go-ethereum + cp -r --reflink=auto ${goethereum} vendor/github.com/ethereum/go-ethereum + ''; + }); + + preBuild = lib.optionalString stdenv.isDarwin '' + ulimit -n 8192 + '' + '' + export CGO_CFLAGS="-I${rocksdb}/include" + export CGO_LDFLAGS="-L${rocksdb}/lib -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4" + packr clean && packr + ''; + + subPackages = [ "." ]; + + meta = with lib; { + description = "Trezor address/account balance backend"; + homepage = "https://github.com/trezor/blockbook"; + license = licenses.agpl3; + maintainers = with maintainers; [ mmahut maintainers."1000101" ]; + platforms = remove "aarch64-linux" platforms.unix; + }; +} |