summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/finance.scm117
-rw-r--r--gnu/packages/guile-xyz.scm26
-rw-r--r--gnu/packages/python-web.scm25
-rw-r--r--gnu/packages/python-xyz.scm20
5 files changed, 141 insertions, 51 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 622ce50020..4027a3e1de 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3575,14 +3575,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(define-public python-soundfile
(package
(name "python-soundfile")
- (version "0.13.0")
+ (version "0.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "soundfile" version))
(sha256
(base32
- "0mc3g5l9fzj57m62zrwwz0w86cbihpna3mikgh8kpmz7ppc9jcz8"))))
+ "0nqf7z2wrb70vppjv5729565h0p3azgl6nqa10bp6a9h3smqvimj"))))
(build-system pyproject-build-system)
(arguments
(list
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 20c5356765..f2177edfad 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -562,10 +562,80 @@ It's not clear at the moment whether one day it will be possible to
do so.")
(license license:agpl3+)))
+(define-public python-electrum-ecc
+ (package
+ (name "python-electrum-ecc")
+ (version "0.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "electrum_ecc" version))
+ (sha256
+ (base32 "1lmp5zmhabaxp6jha3xlsmqviivrxxhsy20x6z42ayqgd9cvhczp"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete the vendored dependency.
+ (delete-file-recursively "libsecp256k1")))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Do not attempt to compile vendored libsecp256k1.
+ (setenv "ELECTRUM_ECC_DONT_COMPILE" "1")
+ ;; Make the package find our libsecp256k1.
+ (substitute* "src/electrum_ecc/ecc_fast.py"
+ (("library_paths = \\[\\]")
+ (string-append
+ "library_paths = ['"
+ (search-input-file inputs "/lib/libsecp256k1.so")
+ "']"))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list libsecp256k1))
+ (home-page "https://github.com/spesmilo/electrum-ecc")
+ (synopsis "Pure python ctypes wrapper for libsecp256k1")
+ (description "This package provides a pure Python ctypes wrapper for
+@code{libsecp256k1}.")
+ (license license:expat)))
+
+(define-public electrum-aionostr
+ (package
+ (name "electrum-aionostr")
+ (version "0.0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "electrum_aionostr" version))
+ (sha256
+ (base32 "10fgidah8ca59j3gssg9b434j49c1dd9cs3224nanjsxwl0ivsqf"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Test below fails to match an exit code, pointing to this in Click:
+ ;; https://github.com/pallets/click/pull/1489
+ ;; This was fixed in Click 8.2.0.
+ #:test-flags #~(list "-k" "not test_command_line_interface")))
+ (inputs (list python-aiohttp
+ python-aiohttp-socks
+ python-aiorpcx
+ python-cryptography
+ python-electrum-ecc))
+ (native-inputs (list python-click
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/spesmilo/electrum-aionostr")
+ (synopsis "Asyncio nostr client")
+ (description "This package is a fork of @code{aionostr} that does not
+require Coincurve.")
+ (license license:bsd-3)))
+
(define-public electrum
(package
(name "electrum")
- (version "4.4.6")
+ (version "4.6.1")
(source
(origin
(method url-fetch)
@@ -573,42 +643,51 @@ do so.")
version "/Electrum-"
version ".tar.gz"))
(sha256
- (base32 "1f0hb8xmqv1j9pf82xpyvxnn2dzmi93rhf0sh0iqakja2pbl4707"))
+ (base32 "1h7z019sp99csrj1djmhlm9y7vyyzl7wvar7z9x4jx59lmmvs1xs"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled dependencies.
(delete-file-recursively "packages")))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; Either pycryptodomex or cryptography must be available.
+ ;; This package uses python-cryptography, but this test checks for
+ ;; cryptodomex anyway. Skip it since it's not useful.
+ #:test-flags #~(list "-k" "not test_pycryptodomex_is_available")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-deps
+ (lambda _
+ (substitute* "contrib/requirements/requirements.txt"
+ ;; These packages have tight version requirements because
+ ;; the developer does not want to introduce Hatchling in
+ ;; the build environment. They do work at runtime.
+ (("attrs.*") "attrs")
+ (("dnspython.*") "dnspython"))))
+ (add-before 'check 'set-home
+ (lambda _ ; 3 tests run mkdir
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(inputs
- (list libsecp256k1
+ (list electrum-aionostr
python-aiohttp
python-aiohttp-socks
python-aiorpcx
python-attrs
- python-bitstring
- python-btchip-python
python-certifi
python-cryptography
python-dnspython
+ python-electrum-ecc
python-hidapi
- python-ledgerblue
+ python-jsonpatch
python-protobuf
- python-pyqt
+ python-pyaes
+ python-pyqt-6
python-qdarkstyle
python-qrcode
zbar))
- (arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'use-libsecp256k1-input
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "electrum/ecc_fast.py"
- (("library_paths = \\[\\]")
- (string-append "library_paths = ['"
- (assoc-ref inputs "libsecp256k1")
- "/lib/libsecp256k1.so']"))))))))
(home-page "https://electrum.org/")
(synopsis "Bitcoin wallet")
(description
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index f683115cb6..3c52d46eda 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -6339,22 +6339,20 @@ Relay Chat} (IRC).")
(define-public guile-websocket
(package
(name "guile-websocket")
- (version "0.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://files.dthompson.us/guile-websocket/"
- "guile-websocket-" version ".tar.gz"))
- (sha256
- (base32
- "143ng1x5xwy218wd1svj718ikqnrglwsywyzpd3ap9jnivw66g7f"))))
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dthompson.us/releases/"
+ "guile-websocket/guile-websocket-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "0mbxbwc5flrafh77sl0cbfclpk3vys0hh3fqmdl9v3nqyl0cbsij"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0")))
- (native-inputs
- (list autoconf automake pkg-config))
- (inputs
- (list guile-3.0 guile-gnutls))
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
+ (native-inputs (list autoconf automake pkg-config))
+ (inputs (list guile-3.0 guile-gnutls))
(synopsis "Websocket server/client for Guile")
(description "Guile-websocket provides an implementation of the
WebSocket protocol as defined by RFC 6455.")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index da16c06692..9ab20defae 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1624,17 +1624,30 @@ It features a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack."
(define-public python-aiorpcx
(package
(name "python-aiorpcx")
- (version "0.22.1")
+ (version "0.25.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "aiorpcX" version))
+ (method git-fetch)
+ ;; PyPI misses the util.py file used for tests.
+ (uri (git-reference
+ (url "https://github.com/kyuupichan/aiorpcX")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0"))))
- (build-system python-build-system)
+ "0sn4xxlpy0kb5b25bqrjzh2m6bskdyydc6cq8bigb7g5dacksn4q"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; This test opens a remote connection.
+ #~(list "-k" "not test_create_connection_resolve_good")))
+ (native-inputs (list python-pytest
+ python-pytest-asyncio
+ python-setuptools
+ python-wheel))
(propagated-inputs
- (list python-attrs))
+ (list python-attrs python-websockets))
(home-page "https://github.com/kyuupichan/aiorpcX")
(synopsis "Generic asyncio RPC implementation")
(description
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e7b3b98c96..6b65e112d1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -35271,23 +35271,23 @@ handling those variations.")
(define-public python-qdarkstyle
(package
(name "python-qdarkstyle")
- (version "2.8.1")
+ (version "3.2.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "QDarkStyle" version))
(sha256
(base32
- "0883vzg35fzpyl1aiijzpfcdfvpq5vi325w0m7xkx7nxplh02fym"))))
- (build-system python-build-system)
- (arguments
- `(;; Fails unable to detect valid Qt bindings even when
- ;; added as native-inputs.
- #:tests? #f))
+ "1bpi0asa7sd5ch6x6b60n5yias04nsx6kcwji40228g9lrs7y2qc"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest
+ python-qtsass
+ python-setuptools
+ python-watchdog
+ python-wheel))
(propagated-inputs
- (list python-helpdev python-qtpy))
- (home-page
- "https://github.com/ColinDuquesnoy/QDarkStyleSheet")
+ (list python-qtpy python-pyqt-6))
+ (home-page "https://github.com/ColinDuquesnoy/QDarkStyleSheet")
(synopsis
"Complete dark stylesheet for Python and Qt applications")
(description "QDarkStyle is the most complete dark stylesheet for Python and