diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 08d887f7e926..ca8001760a2d 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -72,6 +72,7 @@ python3.pkgs.buildPythonApplication { tlslite-ng # plugins btchip-python + ledger-bitcoin ckcc-protocol keepkey trezor diff --git a/pkgs/development/python-modules/ledger-bitcoin/default.nix b/pkgs/development/python-modules/ledger-bitcoin/default.nix new file mode 100644 index 000000000000..edfc9c7f22f2 --- /dev/null +++ b/pkgs/development/python-modules/ledger-bitcoin/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, ledgercomm +, packaging +, typing-extensions + }: + +buildPythonPackage rec { + pname = "ledger-bitcoin"; + version = "0.2.1"; + format = "pyproject"; + + src = fetchPypi { + inherit version; + pname = "ledger_bitcoin"; + hash = "sha256-AWl/q2MzzspNIo6yf30S92PgM/Ygsb+1lJsg7Asztso="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + ledgercomm + packaging + typing-extensions + ]; + + pythonImportsCheck = [ + "ledger_bitcoin" + ]; + + meta = with lib; { + description = "Client library for Ledger Bitcoin application."; + homepage = "https://github.com/LedgerHQ/app-bitcoin-new/tree/develop/bitcoin_client/ledger_bitcoin"; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/ledgercomm/default.nix b/pkgs/development/python-modules/ledgercomm/default.nix new file mode 100644 index 000000000000..092378a142b8 --- /dev/null +++ b/pkgs/development/python-modules/ledgercomm/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools + }: + +buildPythonPackage rec { + pname = "ledgercomm"; + version = "1.1.2"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-izOPbwv+34Xq8mpq9+QRIGhd+z4pVnGJSMnYOktRVbs="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + pythonImportsCheck = [ + "ledgercomm" + ]; + + meta = with lib; { + description = "Python library to send and receive APDU through HID or TCP socket. It can be used with a Ledger Nano S/X or with the Speculos emulator."; + homepage = "https://github.com/LedgerHQ/ledgercomm"; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5d124af9813b..7517b55ec3f9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5428,8 +5428,12 @@ self: super: with self; { ledger_agent = callPackage ../development/python-modules/ledger_agent { }; + ledger-bitcoin = callPackage ../development/python-modules/ledger-bitcoin { }; + ledgerblue = callPackage ../development/python-modules/ledgerblue { }; + ledgercomm = callPackage ../development/python-modules/ledgercomm { }; + ledgerwallet = callPackage ../development/python-modules/ledgerwallet { inherit (pkgs.darwin.apple_sdk.frameworks) AppKit; };