diff options
-rw-r--r-- | doc/contributing.texi | 2 | ||||
-rw-r--r-- | doc/guix.texi | 12 | ||||
-rw-r--r-- | gnu/packages/audio.scm | 4 | ||||
-rw-r--r-- | gnu/packages/dns.scm | 8 | ||||
-rw-r--r-- | gnu/packages/elixir.scm | 21 | ||||
-rw-r--r-- | gnu/packages/finance.scm | 117 | ||||
-rw-r--r-- | gnu/packages/guile-xyz.scm | 55 | ||||
-rw-r--r-- | gnu/packages/machine-learning.scm | 26 | ||||
-rw-r--r-- | gnu/packages/python-web.scm | 40 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 20 |
10 files changed, 188 insertions, 117 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index 34def99c9b..6d3f1622f3 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1449,7 +1449,7 @@ already ran @code{bootstrap} and @code{configure}: The first command updates all packages in @code{(gnu packages astronomy)} to the latest versions and writes changes back to the file. -The second invokes @code{etc/commiter.scm} script, a helper script for +The second invokes @code{etc/committer.scm} script, a helper script for larger scale updates; it identifies each package diff and creates corresponding commits with the correct style. diff --git a/doc/guix.texi b/doc/guix.texi index 8bf0c873d4..bffaeb5bbc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -23331,7 +23331,7 @@ This must be either @code{'client} or @code{'server}. Otherwise, an error is raised. Set the @code{'server} value if you want to run a bridge to help censored users connect to the Tor network, see @url{https://community.torproject.org/relay/setup/bridge/, -the Tor project's brige guide}. Set the @code{'client} value +the Tor project's bridge guide}. Set the @code{'client} value if you want to connect to somebody else's bridge, see @url{https://bridges.torproject.org/, the Tor project's ``Get Bridges'' page}. In both cases the required @@ -38954,7 +38954,7 @@ system shutdown. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -38965,7 +38965,7 @@ apcupsd will initiate a system shutdown. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -38976,7 +38976,7 @@ of 0 disables this timer. @quotation Note @code{battery-level}, @code{remaining-minutes}, and @code{timeout} work -in a conjunction, so the first that occurs will cause the initation of a +in a conjunction, so the first that occurs will cause the initiation of a shutdown. @end quotation @@ -42982,7 +42982,7 @@ cache. Use with caution. @end quotation @quotation Warning -@option{'share} will not work for multiple concurrent invokation of +@option{'share} will not work for multiple concurrent invocation of @command{guix}, e.g. if two user accounts run @command{guix time machine} at the same time, the results will be fun but not useful. @end quotation @@ -51299,7 +51299,7 @@ following configuration: "/home/alice/Pictures")))))))) @end lisp -In general it is preferrable to extend the @code{home-restic-backup-service-type}, +In general it is preferable to extend the @code{home-restic-backup-service-type}, as shown in the example above. This is because it takes care of wrapping everything with @code{for-home}, which enables the @code{home-restic-backup-service-type} and @code{restic-backup-service-type} to share the same codebase. 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/dns.scm b/gnu/packages/dns.scm index 7cb86ad144..5e981ac02c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -851,7 +851,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.4.6") + (version "3.4.8") (source (origin (method git-fetch) @@ -860,7 +860,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0chdlzasng3q3ss4yfppf8fbkkiqllqz4p6s8a6jgwhcbiylmmdi")) + (base32 "0zydnb9kbk65kbrg01sxl48a5ikdap7lhm1wvmcmk5vhvgxdbb53")) (patches (search-patches "knot-remove-runtime-deps.patch")) (modules '((guix build utils))) @@ -993,14 +993,14 @@ synthesis, and on-the-fly re-configuration.") (define-public knot-resolver (package (name "knot-resolver") - (version "5.7.5") + (version "5.7.6") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-resolver/" "knot-resolver-" version ".tar.xz")) (sha256 (base32 - "0rnz7k5pjqd4ds46iyf6r7xwrci0apm2sr6lpaf9sncjmbwrq8w0")))) + "0x6n0h2vd7756rgyzmzhsvky5j7p4brsynnwp13ya003aqxcs32h")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 96ba0421ea..0e53223f10 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2024 Andrew Tropin <andrew@trop.in> -;;; Copyright © 2024 Ivan Sokolov <ivan-p-sokolov@ya.ru> +;;; Copyright © 2024, 2025 Ivan Sokolov <ivan-p-sokolov@ya.ru> ;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org> ;;; ;;; This file is part of GNU Guix. @@ -200,23 +200,24 @@ being successfully used in web development and the embedded software domain.") (delete 'bootstrap) (delete 'configure) (replace 'build - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (setenv "MIX_ENV" "prod") (invoke "mix" "compile"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (define X.Y #$(version-major+minor (package-version elixir))) - (define out (string-append (assoc-ref outputs "out") - "/lib/elixir/" X.Y "/hex")) - (mkdir-p out) - (let* ((prod-dir "_build/prod/lib/hex") + (lambda _ + (let* ((X.Y #$(version-major+minor + (package-version + (lookup-package-input this-package "elixir")))) + (out (string-append #$output "/lib/elixir/" X.Y "/hex")) + (prod-dir "_build/prod/lib/hex") (prod-dir-mix (string-append prod-dir "/.mix"))) (and (directory-exists? prod-dir-mix) (delete-file-recursively prod-dir-mix)) - (copy-recursively "_build/prod/lib/hex" out))))))) + (mkdir-p out) + (copy-recursively prod-dir out))))))) (synopsis "Package manager for the Erlang VM") (description "This project provides tasks that integrate with Mix, Elixir's build tool.") - (home-page "https://hexdocs.pm/makeup_elixir/") + (home-page "https://hexdocs.pm/hex/api-reference.html") (license license:bsd-2))) 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 7ace87bc11..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.") @@ -6978,25 +6976,24 @@ or @code{LuaBind} but for Scheme.") (name "guile-cbor") (version "0.1.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://inqlab.net/git/guile-cbor.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/pukkamustard/guile-cbor/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bdqg3ifayf7m2j09lqrgdfprbdaa67azf09bcq9b4k71inxfnxl")))) (build-system gnu-build-system) - (arguments `()) - (native-inputs - (list autoconf automake pkg-config texinfo)) + (native-inputs (list autoconf automake pkg-config texinfo)) (inputs (list guile-3.0)) (synopsis "Guile implementation of CBOR") (description - "The Concise Binary Object Representation (CBOR), as specified by RFC 8949, is -a binary data serialization format. CBOR is similar to JSON but serializes to -binary which is smaller and faster to generate and parse. This package provides -a Guile implementation of CBOR.") - (home-page "https://inqlab.net/git/guile-cbor.git") + "The Concise Binary Object Representation (CBOR), as specified by RFC +8949, is a binary data serialization format. CBOR is similar to JSON but +serializes to binary which is smaller and faster to generate and parse. This +package provides a Guile implementation of CBOR.") + (home-page "https://codeberg.org/pukkamustard/guile-cbor/") (license license:gpl3+))) (define-public guile-qr-code diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index d35a8e366a..2b6955b406 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -4104,32 +4104,6 @@ any function). It currently contains the interface and IO code from the Shap project, and it will potentially also do the same for the Lime project.") (license license:expat))) -(define-public python-keras-applications - (package - (name "python-keras-applications") - (version "1.0.8") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Keras_Applications" version)) - (sha256 - (base32 - "1rcz31ca4axa6kzhjx4lwqxbg4wvlljkj8qj9a7p9sfd5fhzjyam")))) - (build-system python-build-system) - ;; The tests require Keras, but this package is needed to build Keras. - (arguments '(#:tests? #f)) - (propagated-inputs - (list python-h5py python-numpy)) - (native-inputs - (list python-pytest python-pytest-cov - python-pytest-xdist)) - (home-page "https://github.com/keras-team/keras-applications") - (synopsis "Reference implementations of popular deep learning models") - (description - "This package provides reference implementations of popular deep learning -models for use with the Keras deep learning framework.") - (license license:expat))) - (define-public gloo (let ((version "0.0.0") ; no proper version tag (commit "81925d1c674c34f0dc34dd9a0f2151c1b6f701eb") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 2cbc1bb167..9ab20defae 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -835,7 +835,7 @@ of a fake DNS resolver.") (define-public python-huggingface-hub (package (name "python-huggingface-hub") - (version "0.23.2") + (version "0.31.4") (source (origin (method git-fetch) @@ -844,7 +844,7 @@ of a fake DNS resolver.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hygxqcixkc1d9sr47j2km6z0p17aj4k1dzm4cvpddrvhrgqayq5")))) + (base32 "1rjkrmvvyzxlbnbndrg4v9qq39grn46c26zrdjgpf114gci5pwap")))) (build-system pyproject-build-system) (arguments (list @@ -881,7 +881,13 @@ of a fake DNS resolver.") "-k" (string-append "not test_push_to_hub" " and not test_from_pretrained_model_id_only" - " and not test_from_pretrained_model_id_and_revision")) + " and not test_from_pretrained_model_id_and_revision" + ;; These all require internet access + " and not test_auth" + " and not test_oauth" + " and not test_utils_sha" + " and not test_inference_providers" + " and not test_xet")) #:phases '(modify-phases %standard-phases (add-before 'check 'pre-check @@ -908,6 +914,7 @@ of a fake DNS resolver.") python-pytest-asyncio python-pytest-cov python-pytest-env + python-pytest-mock python-pytest-rerunfailures python-pytest-vcr python-pytest-xdist @@ -918,7 +925,7 @@ of a fake DNS resolver.") python-typing-extensions python-urllib3 python-wheel)) - (home-page "https://github.com/huggingface/huggingface_hub") + (home-page "https://huggingface.co/docs/huggingface_hub/") (synopsis "Client library for accessing the huggingface.co hub") (description "This package provides a client library to download and publish models, @@ -1617,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 |