Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / blockchains / bitcoin-abc / default.nix
blob310c67d415307ba2facec80c1bb961755f430ec0
1 { lib
2 , stdenv
3 , mkDerivation
4 , fetchFromGitHub
5 , pkg-config
6 , cmake
7 , openssl
8 , db53
9 , boost
10 , zlib
11 , miniupnpc
12 , qtbase ? null
13 , qttools ? null
14 , util-linux
15 , protobuf
16 , qrencode
17 , libevent
18 , sqlite
19 , withGui
20 , python3
21 , jemalloc
22 , zeromq4
25 mkDerivation rec {
26   pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
27   version = "0.26.2";
29   src = fetchFromGitHub {
30     owner = "bitcoin-ABC";
31     repo = "bitcoin-abc";
32     rev = "v${version}";
33     sha256 = "0gz4713lk3alk3ykwq1bdqjywadrfrnb7n2878136g01n87j00az";
34   };
36   nativeBuildInputs = [ pkg-config cmake ];
37   buildInputs = [
38     openssl
39     db53
40     boost
41     zlib
42     python3
43     jemalloc
44     zeromq4
45     miniupnpc
46     util-linux
47     protobuf
48     libevent
49     sqlite
50   ] ++ lib.optionals withGui [ qtbase qttools qrencode ];
52   cmakeFlags = lib.optionals (!withGui) [
53     "-DBUILD_BITCOIN_QT=OFF"
54   ];
56   # many of the generated scripts lack execute permissions
57   postConfigure = ''
58     find ./. -type f -iname "*.sh" -exec chmod +x {} \;
59   '';
61   meta = with lib; {
62     description = "Peer-to-peer electronic cash system (Cash client)";
63     longDescription = ''
64       Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
65       It is designed to facilite a hard fork to increase Bitcoin's block size limit.
66       "ABC" stands for "Adjustable Blocksize Cap".
68       Bitcoin ABC is a fork of the Bitcoin Core software project.
69     '';
70     homepage = "https://bitcoinabc.org/";
71     maintainers = with maintainers; [ lassulus ];
72     license = licenses.mit;
73     broken = stdenv.isDarwin;
74     platforms = platforms.unix;
75     mainProgram = "bitcoin-cli";
76   };