From 10a0f1c2afcaa593d2cc491cee8a7bc889903874 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 13:49:23 +0100 Subject: [PATCH 1/4] pythonPackages.trezor: 0.7.4 -> 0.7.12 --- pkgs/development/python-modules/trezor.nix | 26 ++++++++++++++++++++++ pkgs/top-level/python-packages.nix | 24 +------------------- 2 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 pkgs/development/python-modules/trezor.nix 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..13a749182e35 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30799,29 +30799,7 @@ EOF }; }; - 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"; From 9cc2083daca4e712f2e759afccd855894b8d1b53 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 13:52:18 +0100 Subject: [PATCH 2/4] pythonPackages.mnemonic: 0.12 -> 0.17 --- pkgs/development/python-modules/mnemonic.nix | 21 ++++++++++++++++++++ pkgs/top-level/python-packages.nix | 19 +----------------- 2 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 pkgs/development/python-modules/mnemonic.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 13a749182e35..e430099dace3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30780,24 +30780,7 @@ EOF }; }; - mnemonic = buildPythonPackage rec{ - version = "0.12"; - name = "mnemonic-${version}"; - - 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 ]; - }; - }; + mnemonic = callPackage ../development/python-modules/mnemonic.nix { }; trezor = callPackage ../development/python-modules/trezor.nix { }; From 617d8af325bc427178f9022b57478eac9d726d52 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 14:00:41 +0100 Subject: [PATCH 3/4] pythonPackages.pyaes: init at 1.6.0 --- pkgs/development/python-modules/pyaes.nix | 18 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/python-modules/pyaes.nix 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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e430099dace3..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 { }; From d575efc5f05080834019ce0abebde4f47b1657cf Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 11 Mar 2017 14:00:59 +0100 Subject: [PATCH 4/4] electrum: 2.7.18 -> 2.8.1 See https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES Also - patch .desktop file to include full path to electrum - add dep on pysocks - remove dep on pyasn; per the changelog, it has not been used since v2.1 - replace dep on slowaes with pyaes --- pkgs/applications/misc/electrum/default.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) 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;