diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 28b5f02e813a..0fde5c8644eb 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -2,11 +2,11 @@ python2Packages.buildPythonApplication rec { name = "electrum-${version}"; - version = "2.7.18"; + version = "2.8.1"; src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "1l9krc7hqhqrm5bwp999bpykkcq4958qwvx8v0l5mxcxw8k7fkab"; + sha256 = "1398s9d8j04is24il2xjb6xkj666pj21bsr90xglpsmfa1js9z7g"; }; propagatedBuildInputs = with python2Packages; [ @@ -15,22 +15,22 @@ python2Packages.buildPythonApplication rec { jsonrpclib pbkdf2 protobuf3_0 - pyasn1 - pyasn1-modules + pyaes pycrypto pyqt4 + pysocks qrcode requests - slowaes tlslite # plugins - trezor keepkey + trezor + # TODO plugins - # matplotlib - # btchip # amodem + # btchip + # matplotlib ]; preBuild = '' @@ -43,8 +43,11 @@ python2Packages.buildPythonApplication rec { postInstall = '' # Despite setting usr_share above, these files are installed under # $out/nix ... - mv $out/lib/python2.7/site-packages/nix/store/*/share $out + mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out rm -rf $out/lib/python2.7/site-packages/nix + + substituteInPlace $out/share/applications/electrum.desktop \ + --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u" ''; doInstallCheck = true; diff --git a/pkgs/development/python-modules/mnemonic.nix b/pkgs/development/python-modules/mnemonic.nix new file mode 100644 index 000000000000..9f71fdb8e741 --- /dev/null +++ b/pkgs/development/python-modules/mnemonic.nix @@ -0,0 +1,21 @@ +{ lib, fetchurl, buildPythonPackage, pbkdf2 }: + +buildPythonPackage rec { + pname = "mnemonic"; + version = "0.17"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://pypi/m/${pname}/${name}.tar.gz"; + sha256 = "1hq6xb47jagfqf65iwcrh0065mj3521d2mxmahg7vfraihqyqdjn"; + }; + + propagatedBuildInputs = [ pbkdf2 ]; + + meta = { + description = "Implementation of Bitcoin BIP-0039"; + homepage = https://github.com/trezor/python-mnemonic; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/pyaes.nix b/pkgs/development/python-modules/pyaes.nix new file mode 100644 index 000000000000..c2feb2e239c7 --- /dev/null +++ b/pkgs/development/python-modules/pyaes.nix @@ -0,0 +1,18 @@ +{ lib, fetchPypi, buildPythonPackage }: + +buildPythonPackage rec { + pname = "pyaes"; + version = "1.6.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0bp9bjqy1n6ij1zb86wz9lqa1dhla8qr1d7w2kxyn7jbj56sbmcw"; + }; + + meta = { + description = "Pure-Python AES"; + license = lib.licenses.mit; + homepage = https://github.com/ricmoo/pyaes; + }; +} diff --git a/pkgs/development/python-modules/trezor.nix b/pkgs/development/python-modules/trezor.nix new file mode 100644 index 000000000000..36bf0c15de25 --- /dev/null +++ b/pkgs/development/python-modules/trezor.nix @@ -0,0 +1,26 @@ +{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }: + +buildPythonPackage rec { + pname = "trezor"; + version = "0.7.12"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://pypi/t/${pname}/${name}.tar.gz"; + sha256 = "0ryqdk13x60qq5s68i9dfc1na4dka66kdxqycxignzg9k9ykaa8g"; + }; + + propagatedBuildInputs = [ protobuf3_0 hidapi ]; + + buildInputs = [ ecdsa mnemonic ]; + + # There are no actual tests: "ImportError: No module named tests" + doCheck = false; + + meta = { + description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet"; + homepage = https://github.com/trezor/python-trezor; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ np ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 11ebfad988c2..9260b8e73faa 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -289,6 +289,8 @@ in { plantuml = callPackage ../tools/misc/plantuml { }; + pyaes = callPackage ../development/python-modules/pyaes.nix { }; + pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}"; pycairo = callPackage ../development/python-modules/pycairo { }; @@ -30780,48 +30782,9 @@ EOF }; }; - mnemonic = buildPythonPackage rec{ - version = "0.12"; - name = "mnemonic-${version}"; + mnemonic = callPackage ../development/python-modules/mnemonic.nix { }; - src = pkgs.fetchurl { - url = "mirror://pypi/m/mnemonic/${name}.tar.gz"; - sha256 = "0j5jm4v54135qqw455fw4ix2mhxhzjqvxji9gqkpxagk31cvbnj4"; - }; - - propagatedBuildInputs = with self; [ pbkdf2 ]; - - meta = { - description = "Implementation of Bitcoin BIP-0039"; - homepage = https://github.com/trezor/python-mnemonic; - license = licenses.mit; - maintainers = with maintainers; [ np ]; - }; - }; - - trezor = buildPythonPackage rec{ - version = "0.7.4"; - name = "trezor-${version}"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/trezor/${name}.tar.gz"; - sha256 = "18nr76jkdg24sb3r8cfbiq12b95gnh0amc0r1wx9mmg3pwq6jx6y"; - }; - - propagatedBuildInputs = with self; [ protobuf3_0 hidapi ]; - - buildInputs = with self; [ ecdsa mnemonic ]; - - # There are no actual tests: "ImportError: No module named tests" - doCheck = false; - - meta = { - description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet"; - homepage = https://github.com/trezor/python-trezor; - license = licenses.gpl3; - maintainers = with maintainers; [ np ]; - }; - }; + trezor = callPackage ../development/python-modules/trezor.nix { }; keepkey = buildPythonPackage rec{ version = "0.7.3";