From 91a56e1be0f0f84b7bbcac39b4636011911f3ed6 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 18:12:57 +0200 Subject: [PATCH 1/7] pythonPackages.hidapi: 0.7.99.post15 -> 0.7.99.post20 --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1f10fac50410..b59afd7b6ef2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29627,12 +29627,12 @@ EOF }; hidapi = buildPythonPackage rec{ - version = "0.7.99.post15"; + version = "0.7.99.post20"; name = "hidapi-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/h/hidapi/${name}.tar.gz"; - sha256 = "09wlr1d7mx80974bsq62j4pk80234jgl7ip4br0y43q6999dpcr0"; + sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z"; }; propagatedBuildInputs = with self; [ pkgs.libusb1 pkgs.udev cython ]; From 26fbe2634545608f39e0db96476c0c9973928cfd Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 19:07:33 +0200 Subject: [PATCH 2/7] pythonPackages.libagent: init at 0.9.1 --- pkgs/top-level/python-packages.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b59afd7b6ef2..c4d3edad665e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29735,6 +29735,28 @@ EOF }; }; + libagent = buildPythonPackage rec { + name = "libagent-${version}"; + version = "0.9.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/l/libagent/${name}.tar.gz"; + sha256 = "1g19lsid7lqw567w31fif89w088lzbgh27xpb1pshjk1gvags3bc"; + }; + + buildInputs = with self; [ + ed25519 ecdsa semver keepkey + trezor mnemonic ledgerblue + ]; + + meta = { + description = "Using hardware wallets as SSH/GPG agent"; + homepage = "https://github.com/romanz/trezor-agent"; + license = licenses.gpl3; + maintainers = with maintainers; [ np ]; + }; + }; + x11_hash = buildPythonPackage rec{ version = "1.4"; name = "x11_hash-${version}"; From fe98f01da352fe09b6df11797941d4c6439d7e05 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 19:08:04 +0200 Subject: [PATCH 3/7] pythonPackages.trezor_agent: 0.7.0 -> 0.9.1 --- pkgs/top-level/python-packages.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4d3edad665e..3f427c604cfb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29717,15 +29717,18 @@ EOF }; trezor_agent = buildPythonPackage rec{ - version = "0.7.0"; + version = "0.9.0"; name = "trezor_agent-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/t/trezor_agent/${name}.tar.gz"; - sha256 = "1x1gwih6w8kxhpgmcp0v1k7mpmfsqiikkjca291sd0v2if24x7q1"; + sha256 = "1i5cdamlf3c0ym600pjklij74p8ifj9cv7xrpnrfl1b8nkadswbz"; }; - propagatedBuildInputs = with self; [ trezor ecdsa ed25519 mnemonic keepkey semver ]; + propagatedBuildInputs = with self; [ + trezor libagent ecdsa ed25519 + mnemonic keepkey semver + ]; meta = { description = "Using Trezor as hardware SSH agent"; From b2a8b7df59225edadb64e5376a4517ef44b34400 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 19:21:34 +0200 Subject: [PATCH 4/7] pythonPackages.keepkey: fix impossible constraint --- pkgs/top-level/python-packages.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3f427c604cfb..163c83dfa7a2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29674,6 +29674,11 @@ EOF # There are no actual tests: "ImportError: No module named tests" doCheck = false; + # remove impossible dependency constraint + postPatch = '' + sed -i -e 's/hidapi==/hidapi>=/' setup.py + ''; + meta = { description = "KeepKey Python client"; homepage = https://github.com/keepkey/python-keepkey; From 0db82856898d3828a3eb0370dd4ba0428146828b Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 20:02:07 +0200 Subject: [PATCH 5/7] pythonPackages.ecpy: init at 0.8.1 --- pkgs/top-level/python-packages.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 163c83dfa7a2..8fbabd6e5b25 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29765,6 +29765,26 @@ EOF }; }; + ecpy = buildPythonPackage rec { + name = "ECPy-${version}"; + version = "0.8.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/e/ecpy/${name}.tar.gz"; + sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l"; + }; + + buildInputs = with self; [ + hidapi pycrypto pillow protobuf future + ]; + + meta = { + description = "Pure Pyhton Elliptic Curve Library"; + homepage = "https://github.com/ubinity/ECPy"; + license = licenses.apache; + }; + }; + x11_hash = buildPythonPackage rec{ version = "1.4"; name = "x11_hash-${version}"; From 3f9b6ddbf52386259b09d1697c1637b635463e96 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 20:02:33 +0200 Subject: [PATCH 6/7] pythonPackages.ledgerblue: init at 0.1.13 --- pkgs/top-level/python-packages.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8fbabd6e5b25..0e0394d2efc9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29765,6 +29765,27 @@ EOF }; }; + ledgerblue = buildPythonPackage rec { + name = "ledgerblue-${version}"; + version = "0.1.13"; + + src = pkgs.fetchurl { + url = "mirror://pypi/l/ledgerblue/${name}.tar.gz"; + sha256 = "09bsiylvgax6m47w8r0myaf61xj9j0h1spvadx6fx31qy0iqicw0"; + }; + + buildInputs = with self; [ + hidapi pycrypto pillow protobuf future ecpy + ]; + + meta = { + description = "Python library to communicate with Ledger Blue/Nano S"; + homepage = "https://github.com/LedgerHQ/blue-loader-python"; + license = licenses.apache2; + maintainers = with maintainers; [ np ]; + }; + }; + ecpy = buildPythonPackage rec { name = "ECPy-${version}"; version = "0.8.1"; From e73f9953af03f9cbc3878108ea44197fecb9d488 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 30 May 2017 21:35:32 +0200 Subject: [PATCH 7/7] move libraries to pkgs/development/python-modules --- pkgs/development/python-modules/ecpy.nix | 21 +++ pkgs/development/python-modules/ed25519.nix | 18 ++ pkgs/development/python-modules/hidapi.nix | 30 ++++ pkgs/development/python-modules/keepkey.nix | 31 ++++ .../development/python-modules/ledgerblue.nix | 22 +++ pkgs/development/python-modules/libagent.nix | 25 +++ pkgs/development/python-modules/semver.nix | 18 ++ pkgs/development/python-modules/trezor.nix | 9 +- pkgs/top-level/python-packages.nix | 154 +----------------- 9 files changed, 177 insertions(+), 151 deletions(-) create mode 100644 pkgs/development/python-modules/ecpy.nix create mode 100644 pkgs/development/python-modules/ed25519.nix create mode 100644 pkgs/development/python-modules/hidapi.nix create mode 100644 pkgs/development/python-modules/keepkey.nix create mode 100644 pkgs/development/python-modules/ledgerblue.nix create mode 100644 pkgs/development/python-modules/libagent.nix create mode 100644 pkgs/development/python-modules/semver.nix diff --git a/pkgs/development/python-modules/ecpy.nix b/pkgs/development/python-modules/ecpy.nix new file mode 100644 index 000000000000..56e815d17b37 --- /dev/null +++ b/pkgs/development/python-modules/ecpy.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, buildPythonPackage, hidapi +, pycrypto, pillow, protobuf, future, ecpy +}: + +buildPythonPackage rec { + name = "ECPy-${version}"; + version = "0.8.1"; + + src = fetchurl { + url = "mirror://pypi/e/ecpy/${name}.tar.gz"; + sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l"; + }; + + buildInputs = [ hidapi pycrypto pillow protobuf future ]; + + meta = with stdenv.lib; { + description = "Pure Pyhton Elliptic Curve Library"; + homepage = "https://github.com/ubinity/ECPy"; + license = licenses.apache; + }; +} diff --git a/pkgs/development/python-modules/ed25519.nix b/pkgs/development/python-modules/ed25519.nix new file mode 100644 index 000000000000..dfbf6e3f2c39 --- /dev/null +++ b/pkgs/development/python-modules/ed25519.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, buildPythonPackage }: + +buildPythonPackage rec { + name = "ed25519-${version}"; + version = "1.4"; + + src = fetchurl { + url = "mirror://pypi/e/ed25519/${name}.tar.gz"; + sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499"; + }; + + meta = with stdenv.lib; { + description = "Ed25519 public-key signatures"; + homepage = "https://github.com/warner/python-ed25519"; + license = licenses.mit; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/hidapi.nix b/pkgs/development/python-modules/hidapi.nix new file mode 100644 index 000000000000..93603ed576db --- /dev/null +++ b/pkgs/development/python-modules/hidapi.nix @@ -0,0 +1,30 @@ +{ stdenv, pkgs, libusb, udev +, fetchurl, buildPythonPackage, cython }: + +buildPythonPackage rec { + version = "0.7.99.post20"; + name = "hidapi-${version}"; + + src = fetchurl { + url = "mirror://pypi/h/hidapi/${name}.tar.gz"; + sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z"; + }; + + propagatedBuildInputs = [ pkgs.libusb1 pkgs.udev cython ]; + + # Fix the USB backend library lookup + postPatch = '' + libusb=${pkgs.libusb1.dev}/include/libusb-1.0 + test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } + sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py + ''; + + meta = with stdenv.lib; { + description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi"; + homepage = https://github.com/trezor/cython-hidapi; + # license can actually be either bsd3 or gpl3 + # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt + license = licenses.bsd3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/keepkey.nix b/pkgs/development/python-modules/keepkey.nix new file mode 100644 index 000000000000..5869bd40a634 --- /dev/null +++ b/pkgs/development/python-modules/keepkey.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, buildPythonPackage, ecdsa +, mnemonic, protobuf3_0, hidapi }: + +buildPythonPackage rec{ + version = "0.7.3"; + name = "keepkey-${version}"; + + src = fetchurl { + url = "mirror://pypi/k/keepkey/${name}.tar.gz"; + sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714"; + }; + + propagatedBuildInputs = [ protobuf3_0 hidapi ]; + + buildInputs = [ ecdsa mnemonic ]; + + # There are no actual tests: "ImportError: No module named tests" + doCheck = false; + + # remove impossible dependency constraint + postPatch = '' + sed -i -e 's/hidapi==/hidapi>=/' setup.py + ''; + + meta = with stdenv.lib; { + description = "KeepKey Python client"; + homepage = https://github.com/keepkey/python-keepkey; + license = licenses.gpl3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/ledgerblue.nix b/pkgs/development/python-modules/ledgerblue.nix new file mode 100644 index 000000000000..fff2ed965d0c --- /dev/null +++ b/pkgs/development/python-modules/ledgerblue.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, buildPythonPackage, hidapi +, pycrypto, pillow, protobuf, future, ecpy +}: + +buildPythonPackage rec { + name = "ledgerblue-${version}"; + version = "0.1.13"; + + src = fetchurl { + url = "mirror://pypi/l/ledgerblue/${name}.tar.gz"; + sha256 = "09bsiylvgax6m47w8r0myaf61xj9j0h1spvadx6fx31qy0iqicw0"; + }; + + buildInputs = [ hidapi pycrypto pillow protobuf future ecpy ]; + + meta = with stdenv.lib; { + description = "Python library to communicate with Ledger Blue/Nano S"; + homepage = "https://github.com/LedgerHQ/blue-loader-python"; + license = licenses.apache2; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/libagent.nix b/pkgs/development/python-modules/libagent.nix new file mode 100644 index 000000000000..34ff23777026 --- /dev/null +++ b/pkgs/development/python-modules/libagent.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, buildPythonPackage, ed25519, ecdsa +, semver, keepkey, trezor, mnemonic, ledgerblue +}: + +buildPythonPackage rec { + name = "libagent-${version}"; + version = "0.9.1"; + + src = fetchurl { + url = "mirror://pypi/l/libagent/${name}.tar.gz"; + sha256 = "1g19lsid7lqw567w31fif89w088lzbgh27xpb1pshjk1gvags3bc"; + }; + + buildInputs = [ + ed25519 ecdsa semver keepkey + trezor mnemonic ledgerblue + ]; + + meta = with stdenv.lib; { + description = "Using hardware wallets as SSH/GPG agent"; + homepage = "https://github.com/romanz/trezor-agent"; + license = licenses.gpl3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/semver.nix b/pkgs/development/python-modules/semver.nix new file mode 100644 index 000000000000..e9dcbd373c5e --- /dev/null +++ b/pkgs/development/python-modules/semver.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, buildPythonPackage }: + +buildPythonPackage rec { + name = "semver-${version}"; + version = "2.2.1"; + + src = fetchurl { + url = "mirror://pypi/s/semver/${name}.tar.gz"; + sha256 = "161gvsfpw0l8lnf1v19rvqc8b9f8n70cc8ppya4l0n6rwc1c1n4m"; + }; + + meta = with stdenv.lib; { + description = "Python package to work with Semantic Versioning (http://semver.org/)"; + homepage = "https://github.com/k-bx/python-semver"; + license = licenses.bsd3; + maintainers = with maintainers; [ np ]; + }; +} diff --git a/pkgs/development/python-modules/trezor.nix b/pkgs/development/python-modules/trezor.nix index 70160dcb0f94..87ee7160017c 100644 --- a/pkgs/development/python-modules/trezor.nix +++ b/pkgs/development/python-modules/trezor.nix @@ -1,4 +1,5 @@ -{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }: +{ stdenv, fetchurl, buildPythonPackage +, protobuf3_0, hidapi, ecdsa, mnemonic }: buildPythonPackage rec { pname = "trezor"; @@ -17,10 +18,10 @@ buildPythonPackage rec { # There are no actual tests: "ImportError: No module named tests" doCheck = false; - meta = { + meta = with stdenv.lib; { 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 ]; + license = licenses.gpl3; + maintainers = with maintainers; [ np ]; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e0394d2efc9..bd17887328cd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29626,100 +29626,23 @@ EOF }; }; - hidapi = buildPythonPackage rec{ - version = "0.7.99.post20"; - name = "hidapi-${version}"; - - src = pkgs.fetchurl { - url = "mirror://pypi/h/hidapi/${name}.tar.gz"; - sha256 = "1k7z5m7xsqy8j4qkjy4pfxdx4hm36ha68vi65z6smvnyg4zgv22z"; - }; - - propagatedBuildInputs = with self; [ pkgs.libusb1 pkgs.udev cython ]; - - # Fix the USB backend library lookup - postPatch = '' - libusb=${pkgs.libusb1.dev}/include/libusb-1.0 - test -d $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } - sed -i -e "s|/usr/include/libusb-1.0|$libusb|" setup.py - ''; - - meta = { - description = "A Cython interface to the hidapi from https://github.com/signal11/hidapi"; - homepage = https://github.com/trezor/cython-hidapi; - # license can actually be either bsd3 or gpl3 - # see https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt - license = licenses.bsd3; - maintainers = with maintainers; [ np ]; - }; - }; + hidapi = callPackage ../development/python-modules/hidapi.nix { }; mnemonic = callPackage ../development/python-modules/mnemonic.nix { }; trezor = callPackage ../development/python-modules/trezor.nix { }; - keepkey = buildPythonPackage rec{ - version = "0.7.3"; - name = "keepkey-${version}"; + keepkey = callPackage ../development/python-modules/keepkey.nix { }; - src = pkgs.fetchurl { - url = "mirror://pypi/k/keepkey/${name}.tar.gz"; - sha256 = "14d2r8dlx997ypgma2k8by90acw7i3l7hfq4gar9lcka0lqfj714"; - }; + semver = callPackage ../development/python-modules/semver.nix { }; - propagatedBuildInputs = with self; [ protobuf3_0 hidapi ]; + ed25519 = callPackage ../development/python-modules/ed25519.nix { }; - buildInputs = with self; [ ecdsa mnemonic ]; + libagent = callPackage ../development/python-modules/libagent.nix { }; - # There are no actual tests: "ImportError: No module named tests" - doCheck = false; + ledgerblue = callPackage ../development/python-modules/ledgerblue.nix { }; - # remove impossible dependency constraint - postPatch = '' - sed -i -e 's/hidapi==/hidapi>=/' setup.py - ''; - - meta = { - description = "KeepKey Python client"; - homepage = https://github.com/keepkey/python-keepkey; - license = licenses.gpl3; - maintainers = with maintainers; [ np ]; - }; - }; - - semver = buildPythonPackage rec { - name = "semver-${version}"; - version = "2.2.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/s/semver/${name}.tar.gz"; - sha256 = "161gvsfpw0l8lnf1v19rvqc8b9f8n70cc8ppya4l0n6rwc1c1n4m"; - }; - - meta = { - description = "Python package to work with Semantic Versioning (http://semver.org/)"; - homepage = "https://github.com/k-bx/python-semver"; - license = licenses.bsd3; - maintainers = with maintainers; [ np ]; - }; - }; - - ed25519 = buildPythonPackage rec { - name = "ed25519-${version}"; - version = "1.4"; - - src = pkgs.fetchurl { - url = "mirror://pypi/e/ed25519/${name}.tar.gz"; - sha256 = "0ahx1nkxa0xis3cw0h5c4fpgv8mq4znkq7kajly33lc3317bk499"; - }; - - meta = { - description = "Ed25519 public-key signatures"; - homepage = "https://github.com/warner/python-ed25519"; - license = licenses.mit; - maintainers = with maintainers; [ np ]; - }; - }; + ecpy = callPackage ../development/python-modules/ecpy.nix { }; trezor_agent = buildPythonPackage rec{ version = "0.9.0"; @@ -29743,69 +29666,6 @@ EOF }; }; - libagent = buildPythonPackage rec { - name = "libagent-${version}"; - version = "0.9.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/l/libagent/${name}.tar.gz"; - sha256 = "1g19lsid7lqw567w31fif89w088lzbgh27xpb1pshjk1gvags3bc"; - }; - - buildInputs = with self; [ - ed25519 ecdsa semver keepkey - trezor mnemonic ledgerblue - ]; - - meta = { - description = "Using hardware wallets as SSH/GPG agent"; - homepage = "https://github.com/romanz/trezor-agent"; - license = licenses.gpl3; - maintainers = with maintainers; [ np ]; - }; - }; - - ledgerblue = buildPythonPackage rec { - name = "ledgerblue-${version}"; - version = "0.1.13"; - - src = pkgs.fetchurl { - url = "mirror://pypi/l/ledgerblue/${name}.tar.gz"; - sha256 = "09bsiylvgax6m47w8r0myaf61xj9j0h1spvadx6fx31qy0iqicw0"; - }; - - buildInputs = with self; [ - hidapi pycrypto pillow protobuf future ecpy - ]; - - meta = { - description = "Python library to communicate with Ledger Blue/Nano S"; - homepage = "https://github.com/LedgerHQ/blue-loader-python"; - license = licenses.apache2; - maintainers = with maintainers; [ np ]; - }; - }; - - ecpy = buildPythonPackage rec { - name = "ECPy-${version}"; - version = "0.8.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/e/ecpy/${name}.tar.gz"; - sha256 = "0ab60sx4bbsmccwmdvz1023r0cbzi4phar4ipzn5npdj5gw1ny4l"; - }; - - buildInputs = with self; [ - hidapi pycrypto pillow protobuf future - ]; - - meta = { - description = "Pure Pyhton Elliptic Curve Library"; - homepage = "https://github.com/ubinity/ECPy"; - license = licenses.apache; - }; - }; - x11_hash = buildPythonPackage rec{ version = "1.4"; name = "x11_hash-${version}";