1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 openssl,
6 boost,
7 libevent,
8 autoreconfHook,
9 db4,
10 pkg-config,
11 protobuf,
12 hexdump,
13 zeromq,
14 withGui,
15 qtbase ? null,
16 qttools ? null,
17 wrapQtAppsHook ? null,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "digibyte";
22 version = "7.17.3";
23
24 name = pname + toString (lib.optional (!withGui) "d") + "-" + version;
25
26 src = fetchFromGitHub {
27 owner = "digibyte-core";
28 repo = pname;
29 rev = "v${version}";
30 sha256 = "zPwnC2qd28fA1saG4nysPlKU1nnXhfuSG3DpCY6T+kM=";
31 };
32
33 nativeBuildInputs = [
34 autoreconfHook
35 pkg-config
36 hexdump
37 ]
38 ++ lib.optionals withGui [
39 wrapQtAppsHook
40 ];
41
42 buildInputs = [
43 openssl
44 boost
45 libevent
46 db4
47 zeromq
48 ]
49 ++ lib.optionals withGui [
50 qtbase
51 qttools
52 protobuf
53 ];
54
55 enableParallelBuilding = true;
56
57 configureFlags = [
58 "--with-boost-libdir=${boost.out}/lib"
59 ]
60 ++ lib.optionals withGui [
61 "--with-gui=qt5"
62 "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
63 ];
64
65 meta = with lib; {
66 description = "DigiByte (DGB) is a rapidly growing decentralized, global blockchain";
67 homepage = "https://digibyte.io/";
68 license = licenses.mit;
69 maintainers = [ maintainers.mmahut ];
70 platforms = platforms.linux;
71 };
72}