nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 rocksdb_9_10,
6}:
7
8let
9 rocksdb = rocksdb_9_10;
10in
11rustPlatform.buildRustPackage (finalAttrs: {
12 pname = "electrs";
13 version = "0.11.0";
14
15 src = fetchFromGitHub {
16 owner = "romanz";
17 repo = "electrs";
18 rev = "v${finalAttrs.version}";
19 hash = "sha256-MDdxu+ITEEUs+DXKfRKlwStT94Bv8tYIqh2eQlqPgrQ=";
20 };
21
22 cargoDeps = rustPlatform.fetchCargoVendor {
23 inherit (finalAttrs) pname version src;
24 hash = "sha256-D8edLG3Zr/Qsk42husi/Nw1wGjvMb71Enl8hbifvLbk=";
25 };
26
27 # needed for librocksdb-sys
28 nativeBuildInputs = [ rustPlatform.bindgenHook ];
29
30 # link rocksdb dynamically
31 ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
32 ROCKSDB_LIB_DIR = "${rocksdb}/lib";
33
34 passthru.updateScript = ./update.sh;
35
36 meta = {
37 description = "Efficient re-implementation of Electrum Server in Rust";
38 homepage = "https://github.com/romanz/electrs";
39 license = lib.licenses.mit;
40 maintainers = with lib.maintainers; [ prusnak ];
41 mainProgram = "electrs";
42 };
43})