unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#74039] [0/5] Add ledger hardware wallet support
@ 2024-10-26 23:53 jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:53 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

This patch adds ledger hardware wallet support to electrum.

Several additional Python packages are needed this:
https://electrum.readthedocs.io/en/latest/hardware-linux.html

After adding the dependencies to electrum it's possible to access ledger
within electrum.

Jesse Eisses (5):
  gnu: Add python-ledgercomm
  gnu: Add python-coincurve
  gnu: Add python-bip32
  gnu: Add python-ledger-bitcoin
  gnu: Add ledger hardware wallet support to electrum

 gnu/packages/finance.scm | 99 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)


base-commit: 269e4034fcaf55324187efffb6ed5ba14d5e9286
-- 
2.46.0





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#74039] [1/5] gnu: Add python-ledgercomm
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
@ 2024-10-26 23:58 ` jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:58 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: If62d5425c346063787da81a47907f5ee84a749ab
---
 gnu/packages/finance.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index d4594a1083..59a11e6925 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1100,6 +1100,24 @@ (define-public python-btchip-python
 Nano dongle.")
     (license license:asl2.0)))
 
+(define-public python-ledgercomm
+  (package
+    (name "python-ledgercomm")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "ledgercomm" version))
+              (sha256
+               (base32
+                "019f13h59yxxhyhvi5xz8b20pfhazbvn9sgx5x98mp2shj6cks8y"))))
+    (arguments
+     (list #:tests? #f))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/LedgerHQ/ledgercomm")
+    (synopsis "Library to communicate with Ledger Nano S/X and Speculos")
+    (description "Library to communicate with Ledger Nano S/X and Speculos")
+    (license license:expat)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [2/5] gnu: Add python-coincurve
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
@ 2024-10-26 23:58 ` jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:58 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I2acb09def9193247b1e4169321cf22bdb77c9960
---
 gnu/packages/finance.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 59a11e6925..c3ff34e0cc 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -109,6 +109,7 @@ (define-module (gnu packages finance)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libevent)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
@@ -1118,6 +1119,35 @@ (define-public python-ledgercomm
     (description "Library to communicate with Ledger Nano S/X and Speculos")
     (license license:expat)))
 
+(define-public python-coincurve
+  (package
+    (name "python-coincurve")
+    (version "18.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "coincurve" version))
+              (sha256
+               (base32
+                "1hagr7hicfc1hkg5lfxj0di53bp3rbpq0rz5h279v80pwjpjcrn8"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-asn1crypto python-cffi))
+    (home-page "https://pypi.org/project/coincurve")
+    (inputs (list libsecp256k1))
+    (native-inputs (list autoconf automake libtool pkg-config))
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'check)
+               (add-after 'unpack 'use-libsecp256k1-input
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (let ((lib-dir (string-append
+                                   (assoc-ref inputs "libsecp256k1") "/lib")))
+                     (setenv "LIB_DIR" lib-dir)))))))
+    (synopsis "Cross-platform Python CFFI bindings for libsecp256k1")
+    (description "Cross-platform Python CFFI bindings for libsecp256k1")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [3/5] gnu: Add python-bip32
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
@ 2024-10-26 23:58 ` jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:58 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I6f6e5a2048d9d124808bc53df9b493e61c0bcf07
---
 gnu/packages/finance.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index c3ff34e0cc..2711987673 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1148,6 +1148,29 @@ (define-public python-coincurve
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public python-bip32
+  (package
+    (name "python-bip32")
+    (version "3.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/darosior/python-bip32")
+                    (commit "1492d39312f1d9630363c292f6ab8beb8ceb16dd")))
+              (sha256
+               (base32
+                "048zwh1i11jbs6h8j8sqbl7kx5hcyhr7i61mq5snl3fpbr3hmid3"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-base58 python-coincurve))
+    (inputs (list gnu-make))
+    (arguments
+     (list #:tests? #f))
+    (home-page "https://github.com/darosior/python-bip32")
+    (synopsis "Minimalistic implementation of the BIP32 key derivation scheme")
+    (description
+     "Minimalistic implementation of the BIP32 key derivation scheme")
+    (license license:expat)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [4/5] gnu: Add python-ledger-bitcoin
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
                   ` (2 preceding siblings ...)
  2024-10-26 23:58 ` [bug#74039] [3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
@ 2024-10-26 23:58 ` jesse--- via Guix-patches via
  2024-10-26 23:58 ` [bug#74039] [5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:58 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: Ic7956e573712e478981de47466468f339b153741
---
 gnu/packages/finance.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 2711987673..317d4592f3 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1171,6 +1171,30 @@ (define-public python-bip32
      "Minimalistic implementation of the BIP32 key derivation scheme")
     (license license:expat)))
 
+(define-public python-ledger-bitcoin
+  (package
+    (name "python-ledger-bitcoin")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "ledger_bitcoin" version))
+              (sha256
+               (base32
+                "1drd15h4vsr5ysrmrrhh2lalzmnxkvi82x6a433yr8c2vf6zsynx"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f
+            #:phases
+            #~(modify-phases %standard-phases
+                (delete 'sanity-check))))
+    (propagated-inputs (list python-bip32 python-coincurve python-ledgercomm
+                             python-packaging python-typing-extensions))
+    (inputs (list python-ledgercomm))
+    (home-page "https://github.com/LedgerHQ/app-bitcoin-new")
+    (synopsis "Client for Ledger Nano Bitcoin application")
+    (description "Client for Ledger Nano Bitcoin application")
+    (license license:asl2.0)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [5/5] gnu: Add ledger hardware wallet support to electrum
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
                   ` (3 preceding siblings ...)
  2024-10-26 23:58 ` [bug#74039] [4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
@ 2024-10-26 23:58 ` jesse--- via Guix-patches via
  2024-10-27  8:06   ` [bug#74039] [0/5] Add ledger hardware wallet support Jesse Eisses via Guix-patches via
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
  2024-10-28  9:35 ` [bug#74039] Comments Andreas Enge
  6 siblings, 1 reply; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-26 23:58 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I348533df6611a47dca5fd933eed19cebdfca025d
---
 gnu/packages/finance.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 317d4592f3..84373452c4 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -132,6 +132,7 @@ (define-module (gnu packages finance)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages security-token)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tex)
@@ -579,15 +580,18 @@ (define-public electrum
            python-attrs
            python-bitstring
            python-btchip-python
+           python-cbor
            python-certifi
            python-cryptography
            python-dnspython
            python-hidapi
            python-ledgerblue
+           python-ledger-bitcoin
            python-protobuf
            python-pyqt
            python-qdarkstyle
            python-qrcode
+           libusb
            zbar))
     (arguments
      `(#:tests? #f                      ; no tests
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [0/5] Add ledger hardware wallet support
  2024-10-26 23:58 ` [bug#74039] [5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
@ 2024-10-27  8:06   ` Jesse Eisses via Guix-patches via
  2024-10-27 14:15     ` James Smith via Guix-patches via
  0 siblings, 1 reply; 15+ messages in thread
From: Jesse Eisses via Guix-patches via @ 2024-10-27  8:06 UTC (permalink / raw)
  To: 74039

Hi there,

I just realize that I forgot to add my name to the list of contributors,
and also to prefix the email subject with PATCH. Apologies, still
getting the hang of this 😅

Not sure how to fix this. Should I submit a whole new patch series to this
thread, or even start a new issue with the PATCH prefix?

Thanks,

Jesse

jesse@eisses.email writes:

> From: Jesse Eisses <jesse@eisses.email>
>
> Change-Id: I348533df6611a47dca5fd933eed19cebdfca025d
> ---
>  gnu/packages/finance.scm | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
> index 317d4592f3..84373452c4 100644
> --- a/gnu/packages/finance.scm
> +++ b/gnu/packages/finance.scm
> @@ -132,6 +132,7 @@ (define-module (gnu packages finance)
>    #:use-module (gnu packages qt)
>    #:use-module (gnu packages readline)
>    #:use-module (gnu packages security-token)
> +  #:use-module (gnu packages serialization)
>    #:use-module (gnu packages sphinx)
>    #:use-module (gnu packages sqlite)
>    #:use-module (gnu packages tex)
> @@ -579,15 +580,18 @@ (define-public electrum
>             python-attrs
>             python-bitstring
>             python-btchip-python
> +           python-cbor
>             python-certifi
>             python-cryptography
>             python-dnspython
>             python-hidapi
>             python-ledgerblue
> +           python-ledger-bitcoin
>             python-protobuf
>             python-pyqt
>             python-qdarkstyle
>             python-qrcode
> +           libusb
>             zbar))
>      (arguments
>       `(#:tests? #f                      ; no tests




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#74039] [0/5] Add ledger hardware wallet support
  2024-10-27  8:06   ` [bug#74039] [0/5] Add ledger hardware wallet support Jesse Eisses via Guix-patches via
@ 2024-10-27 14:15     ` James Smith via Guix-patches via
  2024-10-27 21:08       ` Jesse Eisses via Guix-patches via
  0 siblings, 1 reply; 15+ messages in thread
From: James Smith via Guix-patches via @ 2024-10-27 14:15 UTC (permalink / raw)
  To: 74039; +Cc: jesse

Jesse Eisses via Guix-patches via <guix-patches@gnu.org> writes:

> Hi there,
>
> I just realize that I forgot to add my name to the list of contributors,
> and also to prefix the email subject with PATCH. Apologies, still
> getting the hang of this 😅
>
> Not sure how to fix this. Should I submit a whole new patch series to this
> thread, or even start a new issue with the PATCH prefix?
>
> Thanks,
>
> Jesse

Hi Jesse,

You can just add your name to the list, rebase the change to your first
commit, and resend this patch series to this issue with a v2. For
example, my workflow with Emacs and Magit is as follows:

1. Add copyright to gnu/packages/finance.scm after the last one.
2. Using Magit, stage your changes, press "c" for commit, followed by "F"
for instant fixup, the select the commit to apply the changes to (I.E.
for copyright, it'll typically be patch 1/5).
3. Once you're done making changes, use "git send-email" to send a new
set of patches. For example, you'll use "git send-email -5 -v2
--to=74039@debbugs.gnu.org".

For more details, you can check the relevant section of the manual at
https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html

Hope that helps,
James




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#74039] [0/5] Add ledger hardware wallet support
  2024-10-27 14:15     ` James Smith via Guix-patches via
@ 2024-10-27 21:08       ` Jesse Eisses via Guix-patches via
  0 siblings, 0 replies; 15+ messages in thread
From: Jesse Eisses via Guix-patches via @ 2024-10-27 21:08 UTC (permalink / raw)
  To: James Smith; +Cc: 74039

Hi James,

Thanks for that! New patch set is incoming

- Jesse

James Smith <jsubuntuxp@disroot.org> writes:

> Jesse Eisses via Guix-patches via <guix-patches@gnu.org> writes:
>
>> Hi there,
>>
>> I just realize that I forgot to add my name to the list of contributors,
>> and also to prefix the email subject with PATCH. Apologies, still
>> getting the hang of this 😅
>>
>> Not sure how to fix this. Should I submit a whole new patch series to this
>> thread, or even start a new issue with the PATCH prefix?
>>
>> Thanks,
>>
>> Jesse
>
> Hi Jesse,
>
> You can just add your name to the list, rebase the change to your first
> commit, and resend this patch series to this issue with a v2. For
> example, my workflow with Emacs and Magit is as follows:
>
> 1. Add copyright to gnu/packages/finance.scm after the last one.
> 2. Using Magit, stage your changes, press "c" for commit, followed by "F"
> for instant fixup, the select the commit to apply the changes to (I.E.
> for copyright, it'll typically be patch 1/5).
> 3. Once you're done making changes, use "git send-email" to send a new
> set of patches. For example, you'll use "git send-email -5 -v2
> --to=74039@debbugs.gnu.org".
>
> For more details, you can check the relevant section of the manual at
> https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html
>
> Hope that helps,
> James




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
                   ` (4 preceding siblings ...)
  2024-10-26 23:58 ` [bug#74039] [5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
@ 2024-10-27 21:13 ` jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
                     ` (3 more replies)
  2024-10-28  9:35 ` [bug#74039] Comments Andreas Enge
  6 siblings, 4 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-27 21:13 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: If62d5425c346063787da81a47907f5ee84a749ab
---
 gnu/packages/finance.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index d4594a1083..262380d13e 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -39,6 +39,7 @@
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
 ;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1100,6 +1101,24 @@ (define-public python-btchip-python
 Nano dongle.")
     (license license:asl2.0)))
 
+(define-public python-ledgercomm
+  (package
+    (name "python-ledgercomm")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "ledgercomm" version))
+              (sha256
+               (base32
+                "019f13h59yxxhyhvi5xz8b20pfhazbvn9sgx5x98mp2shj6cks8y"))))
+    (arguments
+     (list #:tests? #f))
+    (build-system pyproject-build-system)
+    (home-page "https://github.com/LedgerHQ/ledgercomm")
+    (synopsis "Library to communicate with Ledger Nano S/X and Speculos")
+    (description "Library to communicate with Ledger Nano S/X and Speculos")
+    (license license:expat)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")

base-commit: 269e4034fcaf55324187efffb6ed5ba14d5e9286
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [PATCH v2 2/5] gnu: Add python-coincurve
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
@ 2024-10-27 21:13   ` jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-27 21:13 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I2acb09def9193247b1e4169321cf22bdb77c9960
---
 gnu/packages/finance.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 262380d13e..d96055601d 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -110,6 +110,7 @@ (define-module (gnu packages finance)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libevent)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
@@ -1119,6 +1120,35 @@ (define-public python-ledgercomm
     (description "Library to communicate with Ledger Nano S/X and Speculos")
     (license license:expat)))
 
+(define-public python-coincurve
+  (package
+    (name "python-coincurve")
+    (version "18.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "coincurve" version))
+              (sha256
+               (base32
+                "1hagr7hicfc1hkg5lfxj0di53bp3rbpq0rz5h279v80pwjpjcrn8"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-asn1crypto python-cffi))
+    (home-page "https://pypi.org/project/coincurve")
+    (inputs (list libsecp256k1))
+    (native-inputs (list autoconf automake libtool pkg-config))
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'check)
+               (add-after 'unpack 'use-libsecp256k1-input
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (let ((lib-dir (string-append
+                                   (assoc-ref inputs "libsecp256k1") "/lib")))
+                     (setenv "LIB_DIR" lib-dir)))))))
+    (synopsis "Cross-platform Python CFFI bindings for libsecp256k1")
+    (description "Cross-platform Python CFFI bindings for libsecp256k1")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [PATCH v2 3/5] gnu: Add python-bip32
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
@ 2024-10-27 21:13   ` jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
  3 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-27 21:13 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I6f6e5a2048d9d124808bc53df9b493e61c0bcf07
---
 gnu/packages/finance.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index d96055601d..7e030daca9 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1149,6 +1149,29 @@ (define-public python-coincurve
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public python-bip32
+  (package
+    (name "python-bip32")
+    (version "3.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/darosior/python-bip32")
+                    (commit "1492d39312f1d9630363c292f6ab8beb8ceb16dd")))
+              (sha256
+               (base32
+                "048zwh1i11jbs6h8j8sqbl7kx5hcyhr7i61mq5snl3fpbr3hmid3"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-base58 python-coincurve))
+    (inputs (list gnu-make))
+    (arguments
+     (list #:tests? #f))
+    (home-page "https://github.com/darosior/python-bip32")
+    (synopsis "Minimalistic implementation of the BIP32 key derivation scheme")
+    (description
+     "Minimalistic implementation of the BIP32 key derivation scheme")
+    (license license:expat)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [PATCH v2 4/5] gnu: Add python-ledger-bitcoin
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
@ 2024-10-27 21:13   ` jesse--- via Guix-patches via
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
  3 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-27 21:13 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: Ic7956e573712e478981de47466468f339b153741
---
 gnu/packages/finance.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 7e030daca9..4be438a6d6 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1172,6 +1172,30 @@ (define-public python-bip32
      "Minimalistic implementation of the BIP32 key derivation scheme")
     (license license:expat)))
 
+(define-public python-ledger-bitcoin
+  (package
+    (name "python-ledger-bitcoin")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "ledger_bitcoin" version))
+              (sha256
+               (base32
+                "1drd15h4vsr5ysrmrrhh2lalzmnxkvi82x6a433yr8c2vf6zsynx"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:tests? #f
+            #:phases
+            #~(modify-phases %standard-phases
+                (delete 'sanity-check))))
+    (propagated-inputs (list python-bip32 python-coincurve python-ledgercomm
+                             python-packaging python-typing-extensions))
+    (inputs (list python-ledgercomm))
+    (home-page "https://github.com/LedgerHQ/app-bitcoin-new")
+    (synopsis "Client for Ledger Nano Bitcoin application")
+    (description "Client for Ledger Nano Bitcoin application")
+    (license license:asl2.0)))
+
 (define-public python-trezor
   (package
     (name "python-trezor")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] [PATCH v2 5/5] gnu: Add ledger hardware wallet support to electrum
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-10-27 21:13   ` [bug#74039] [PATCH v2 4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
@ 2024-10-27 21:13   ` jesse--- via Guix-patches via
  3 siblings, 0 replies; 15+ messages in thread
From: jesse--- via Guix-patches via @ 2024-10-27 21:13 UTC (permalink / raw)
  To: 74039; +Cc: Jesse Eisses

From: Jesse Eisses <jesse@eisses.email>

Change-Id: I348533df6611a47dca5fd933eed19cebdfca025d
---
 gnu/packages/finance.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 4be438a6d6..f6fcaedef2 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -133,6 +133,7 @@ (define-module (gnu packages finance)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages security-token)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tex)
@@ -580,15 +581,18 @@ (define-public electrum
            python-attrs
            python-bitstring
            python-btchip-python
+           python-cbor
            python-certifi
            python-cryptography
            python-dnspython
            python-hidapi
            python-ledgerblue
+           python-ledger-bitcoin
            python-protobuf
            python-pyqt
            python-qdarkstyle
            python-qrcode
+           libusb
            zbar))
     (arguments
      `(#:tests? #f                      ; no tests
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [bug#74039] Comments
  2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
                   ` (5 preceding siblings ...)
  2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
@ 2024-10-28  9:35 ` Andreas Enge
  6 siblings, 0 replies; 15+ messages in thread
From: Andreas Enge @ 2024-10-28  9:35 UTC (permalink / raw)
  To: 74039

Hello Jesse,

thanks for your contribution, which passes QA and looks mainly good!

QA runs "guix lint":
https://qa.guix.gnu.org/issue/74039
which complains about the following:
"the source file name should contain the package name"

Maybe you could run "guix lint" on your different packages and see to
which one it applies? Probably python-bip32 with its source taken from git.

Maybe you could use pypi there as well? When trying a "guix import pypi bip32"
I get a version 4.0 instead of 3.2; would this work as well?
Otherwise, there are examples in the Guix source of how to force a
descriptive name for the git checkout.

The description should consist of complete sentences and be a bit longer
and more descriptive, maybe a short paragraph. Often it can be taken from
the project website, after stripping out the marketing speech.

Please also adapt the commit messages to the Guix style.
Running "./etc/committer.scm" (instead of "git commit") could be an
option, it usually works well for adding new packages.

Looking forward to a v3,

Andreas





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-10-28  9:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-26 23:53 [bug#74039] [0/5] Add ledger hardware wallet support jesse--- via Guix-patches via
2024-10-26 23:58 ` [bug#74039] [1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
2024-10-26 23:58 ` [bug#74039] [2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
2024-10-26 23:58 ` [bug#74039] [3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
2024-10-26 23:58 ` [bug#74039] [4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
2024-10-26 23:58 ` [bug#74039] [5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
2024-10-27  8:06   ` [bug#74039] [0/5] Add ledger hardware wallet support Jesse Eisses via Guix-patches via
2024-10-27 14:15     ` James Smith via Guix-patches via
2024-10-27 21:08       ` Jesse Eisses via Guix-patches via
2024-10-27 21:13 ` [bug#74039] [PATCH v2 1/5] gnu: Add python-ledgercomm jesse--- via Guix-patches via
2024-10-27 21:13   ` [bug#74039] [PATCH v2 2/5] gnu: Add python-coincurve jesse--- via Guix-patches via
2024-10-27 21:13   ` [bug#74039] [PATCH v2 3/5] gnu: Add python-bip32 jesse--- via Guix-patches via
2024-10-27 21:13   ` [bug#74039] [PATCH v2 4/5] gnu: Add python-ledger-bitcoin jesse--- via Guix-patches via
2024-10-27 21:13   ` [bug#74039] [PATCH v2 5/5] gnu: Add ledger hardware wallet support to electrum jesse--- via Guix-patches via
2024-10-28  9:35 ` [bug#74039] Comments Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).