summary refs log tree commit diff
path: root/pkgs/applications/misc/electrum/default.nix
blob: 733833e31712b852ce4f2ba8e4213c561b8a4d7a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{ stdenv, fetchurl, pythonPackages }:

let
  jsonrpclib = pythonPackages.buildPythonPackage rec {
    version = "0.1.7";
    name = "jsonrpclib-${version}";
    src = fetchurl {
      url = "https://pypi.python.org/packages/source/j/jsonrpclib/${name}.tar.gz";
      sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z";
    };
    propagatedBuildInputs = [ pythonPackages.cjson ];
    meta = {
      homepage = https://pypi.python.org/pypi/jsonrpclib;
      license = stdenv.lib.licenses.asl20;
    };
  };
in

pythonPackages.buildPythonApplication rec {
  name = "electrum-${version}";
  version = "2.6.2";

  src = fetchurl {
    url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
    sha256 = "1wvzlx9aj88z01vljhyg3v67zsk2iz18r58727pdq7h94vwwjc86";
  };

  propagatedBuildInputs = with pythonPackages; [
    dns
    ecdsa
    jsonrpclib
    pbkdf2
    protobuf
    pyasn1
    pyasn1-modules
    pycrypto
    pyqt4
    qrcode
    requests
    slowaes
    tlslite

    # plugins
    trezor
    keepkey
    # TODO plugins
    # matplotlib
    # btchip
    # amodem
  ];

  preInstall = ''
    mkdir -p $out/share
    sed -i 's@usr_share = .*@usr_share = os.getenv("out")+"/share"@' setup.py
    pyrcc4 icons.qrc -o gui/qt/icons_rc.py
  '';

  doCheck = true;
  checkPhase = ''
    $out/bin/electrum help >/dev/null
  '';

  meta = with stdenv.lib; {
    description = "Bitcoin thin-client";
    longDescription = ''
      An easy-to-use Bitcoin client featuring wallets generated from
      mnemonic seeds (in addition to other, more advanced, wallet options)
      and the ability to perform transactions without downloading a copy
      of the blockchain.
    '';
    homepage = https://electrum.org;
    license = licenses.mit;
    maintainers = with maintainers; [ ehmry joachifm np ];
  };
}