summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/contributing.texi2
-rw-r--r--doc/guix.texi12
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/bioinformatics.scm135
-rw-r--r--gnu/packages/dns.scm8
-rw-r--r--gnu/packages/elixir.scm21
-rw-r--r--gnu/packages/finance.scm117
-rw-r--r--gnu/packages/golang.scm21
-rw-r--r--gnu/packages/guile-xyz.scm55
-rw-r--r--gnu/packages/haskell-apps.scm24
-rw-r--r--gnu/packages/haskell-xyz.scm6
-rw-r--r--gnu/packages/machine-learning.scm251
-rw-r--r--gnu/packages/python-web.scm40
-rw-r--r--gnu/packages/python-xyz.scm20
-rw-r--r--guix/lint.scm6
-rw-r--r--guix/transformations.scm15
16 files changed, 233 insertions, 504 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/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index e14d74b186..8dffc86c00 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -20397,141 +20397,6 @@ includes operations like compartment, insulation or peak calling.")
the HiCExplorer and pyGenomeTracks packages.")
(license license:gpl3+)))
-(define-public python-hicexplorer
- (package
- (name "python-hicexplorer")
- (version "3.7.4")
- (source
- (origin
- ;; The latest version is not available on Pypi.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/deeptools/HiCExplorer")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1cjr9l0vcngd0f4dmar388ri1ah1bqybnn53jc85xwh07wfacq7l"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- '(list "hicexplorer/test/general/"
- "--ignore" "hicexplorer/test/general/test_hicTADClassifier.py"
- "--ignore" "hicexplorer/test/general/test_hicTrainTADClassifier.py"
- "-k"
- (string-append
- ;; Unknown chromosome: ChrX
- "not test_build_matrix_restrictionCutFile_two"
- ;; fixture 'keepSelfLigation' not found
- " and not test_build_matrix_restrictionCutFile_six"
- ;; ValueError: object dtype is not supported by sparse matrices
- " and not test_hic_transfer_obs_exp_perChromosome"
-
- ;; No KR balancing available
- " and not test_correct_matrix_KR_partial_cool"
- " and not test_correct_matrix_KR_cool"
- " and not test_correct_matrix_KR_H5"))
- #:phases
- #~(modify-phases %standard-phases
- ;; See https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/23
- (add-after 'unpack 'remove-dependency-on-krbalancing
- (lambda _
- (substitute* "hicexplorer/hicCorrectMatrix.py"
- (("from krbalancing import.*") "")
- (("( *)assert\\(args.correctionMethod == 'KR'\\)" m indent)
- (string-append m "\n"
- indent "log.error('krbalancing not available')\n"
- indent "exit(1)")))
- (substitute* "setup.py"
- (("\"krbalancing >= 0.0.5\",") ""))
- (substitute* "requirements.txt"
- (("krbalancing >= 0.0.5") ""))))
- (add-after 'unpack 'fix-references
- (lambda _
- (let ((site (string-append #$output "/lib/python"
- #$(version-major+minor
- (package-version python))
- "/site-packages")))
- (substitute* "hicexplorer/lib/tadClassifier.py"
- (("model_location = site.getsitepackages\\(\\)\\[0\\]")
- (string-append "model_location = \"" site "\""))))
- (substitute* "hicexplorer/hicFindRestSite.py"
- (("subprocess.check_output\\(\\[\"cat\"")
- (string-append "subprocess.check_output([\""
- (which "cat") "\""))
- (("cmd = 'sort -k1")
- (string-append "cmd = '" (which "sort") " -k1")))))
- ;; The tests aim to detect available memory and run more tests when
- ;; there is more available memory. Let's run them deterministically
- ;; instead and don't run any tests that require more than 1GB of
- ;; RAM.
- (add-after 'unpack 'run-only-low-mem-tests
- (lambda _
- (with-directory-excursion "hicexplorer/test"
- (substitute* '("trivial_runs/test_hicBuildMatrix_trivial_runs_2.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_five.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_four.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_two_1.py"
- "trivial_runs/test_hicBuildMatrix_trivial_runs.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_two_3.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_three.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_two.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_two_2.py"
- "trivial_runs/test_hicAggregateContacts_trivial_runs_six.py"
- "general/test_hicDifferentialTAD.py"
- "general/test_hicDetectLoops.py"
- "general/test_hicPlotMatrix.py"
- "general/test_hicHyperoptDetectLoops.py"
- "general/test_hicCreateThresholdFile.py"
- "general/test_hicMergeDomains.py"
- "general/test_hicHyperoptDetectLoopsHiCCUPS.py"
- "general/test_hicAggregateContacts.py"
- "general/test_hicInterIntraTAD.py")
- (("^memory =.*") "memory = 1\n"))))))))
- (propagated-inputs
- (list python-biopython
- python-cleanlab
- python-cooler
- python-fit-nbinom
- python-future
- python-graphviz
- python-hic2cool
- python-hicmatrix
- python-hyperopt
- python-imbalanced-learn
- python-intervaltree
- python-ipykernel
- python-jinja2
- python-matplotlib
- python-numpy
- python-pandas
- python-psutil
- python-pybedtools
- python-pybigwig
- python-pygenometracks
- python-pysam
- python-scikit-learn
- python-scipy
- python-tables
- python-tqdm
- python-unidecode))
- (native-inputs
- (list graphviz)) ;for hicexplorer/test/test_compute_function.py
- (home-page "https://hicexplorer.readthedocs.io")
- (synopsis "Process, analyze and visualize Hi-C data")
- (description
- "HiCExplorer is a powerful and easy to use set of tools to process,
-normalize and visualize Hi-C data. HiCExplorer facilitates the creation of
-contact matrices, correction of contacts, TAD detection, A/B compartments,
-merging, reordering or chromosomes, conversion from different formats
-including cooler and detection of long-range contacts. Moreover, it allows
-the visualization of multiple contact matrices along with other types of data
-like genes, compartments, ChIP-seq coverage tracks (and in general any type of
-genomic scores), long range contacts and the visualization of viewpoints.")
- (license license:gpl3)))
-
(define-public python-pygenometracks
(package
(name "python-pygenometracks")
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/golang.scm b/gnu/packages/golang.scm
index 3f79d9862e..eb04e2eb86 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
@@ -1012,6 +1012,17 @@ in the style of communicating sequential processes (@dfn{CSP}).")
;; as the bootstrap toolchain.
(alist-replace "go" (list go-1.21) (package-native-inputs go-1.21)))))
+(define %go-1.23-arm64-micro-architectures
+ ;; https://go.dev/wiki/MinimumRequirements#arm64
+ ;; Allowed values are v8.{0-9} and v9.{0-5}. This may be followed by an option
+ ;; specifying extensions implemented by target hardware. Valid options are
+ ;; ,lse and ,crypto.
+ ;; Match Guix's specifications and then rewrite in (guix transformations).
+ (append (map (lambda (suffix) (string-append "armv8" suffix "-a"))
+ '("" ".1" ".2" ".3" ".4" ".5" ".6" ".7" ".8" ".9"))
+ (map (lambda (suffix) (string-append "armv9" suffix "-a"))
+ '("" ".1" ".2" ".3" ".4" ".5"))))
+
(define-public go-1.23
(package
(inherit go-1.22)
@@ -1025,7 +1036,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq"))))))
+ (base32 "06c5cjjqk95p16cb6p8fgqqsddc1a1kj3w2m0na5v91gvwxbd0pq"))))
+ (properties
+ `((compiler-cpu-architectures
+ ("aarch64" ,@%go-1.23-arm64-micro-architectures)
+ ("armhf" ,@%go-1.17-arm-micro-architectures)
+ ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
+ ("x86_64" ,@%go-1.18-x86_64-micro-architectures))))))
(define-public go-1.24
(package
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/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e626509067..5a1f654652 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -888,32 +888,20 @@ is programmed in Haskell.")
(define-public scroll
(package
(name "scroll")
- (version "1.20180421")
+ (version "1.20250228.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "scroll" version))
(sha256
(base32
- "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj"))))
+ "1p1741zqsxg017d08ym1clzqcdlai487wb6q12m1q7dr6i8c0gfj"))))
(build-system haskell-build-system)
- (properties '((upstream-name . "scroll")))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'touch-static-output
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The Haskell build system adds a "static" output by
- ;; default, and there is no way to override this until
- ;; <https://issues.guix.gnu.org/41569> is fixed. Without
- ;; this phase, the daemon complains because we do not
- ;; create the "static" output.
- (with-output-to-file (assoc-ref outputs "static")
- (lambda ()
- (display "static output not used\n")))
- #t)))))
+ (properties '((upstream-name . "scroll")
+ (updater-extra-inputs "ghc-base-compat")))
(inputs
- (list ghc-case-insensitive
+ (list ghc-base-compat
+ ghc-case-insensitive
ghc-data-default
ghc-ifelse
ghc-monad-loops
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 6b8cce3cfc..fd7519b957 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2016, 2019, 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2019, 2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
@@ -7901,7 +7901,9 @@ between 2 and 3 times faster than the Mersenne Twister.")
"lib/UI/NCurses/Enums.chs"
"lib/UI/NCurses/Panel.chs")
(("<ncursesw/") "<"))
- #t)))
+ ;; KEY_EVENT doesn't appear in our ncurses.h
+ (substitute* "lib/UI/NCurses/Enums.chs"
+ ((".*KEY_EVENT.*") "")))))
#:cabal-revision
("1"
"1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 061cb934a4..2b6955b406 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -2289,50 +2289,6 @@ number of threads used in the threadpool-backed of common native libraries used
for scientific computing and data science (e.g. BLAS and OpenMP).")
(license license:bsd-3)))
-(define-public python-imbalanced-learn
- (package
- (name "python-imbalanced-learn")
- (version "0.12.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "imbalanced-learn" version))
- (sha256
- (base32 "1hgncab4g4xry7yl6wwsj1wmfnxbsajx6qmycvr28wdhvk75c358"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags '(list "-k"
- ;; Although we cannot satify the Tensorflow and Keras requirements
- ;; (python-keras >= 2.4.3 and tensorflow >= 2.4.3), all tests
- ;; besides these pass.
- "not balanced_batch_generator and not BalancedBatchGenerator")
- #:phases '(modify-phases %standard-phases
- (add-after 'unpack 'unbreak-tests
- (lambda _
- ;; Some tests require a home directory
- (setenv "HOME"
- (getcwd)))))))
- (propagated-inputs (list python-joblib python-numpy python-scikit-learn
- python-scipy python-threadpoolctl))
- (native-inputs (list python-black
- python-flake8
- python-keras
- python-mypy
- python-pandas
- python-pytest
- python-pytest-cov
- python-setuptools
- python-wheel
- tensorflow))
- (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn")
- (synopsis "Toolbox for imbalanced dataset in machine learning")
- (description
- "This is a Python package offering a number of re-sampling
-techniques commonly used in datasets showing strong between-class imbalance.
-It is compatible with @code{scikit-learn}.")
- (license license:expat)))
-
(define-public python-hdbscan
(package
(name "python-hdbscan")
@@ -4148,213 +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 python-keras-preprocessing
- (package
- (name "python-keras-preprocessing")
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "Keras_Preprocessing" version))
- (sha256
- (base32
- "1r98nm4k1svsqjyaqkfk23i31bl1kcfcyp7094yyj3c43phfp3as"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-numpy python-six))
- (native-inputs
- (list python-pandas
- python-pillow
- python-pytest
- python-pytest-cov
- python-pytest-xdist
- tensorflow))
- (home-page "https://github.com/keras-team/keras-preprocessing/")
- (synopsis "Data preprocessing and augmentation for deep learning models")
- (description
- "Keras Preprocessing is the data preprocessing and data augmentation
-module of the Keras deep learning library. It provides utilities for working
-with image data, text data, and sequence data.")
- (license license:expat)))
-
-(define-public python-keras
- (package
- (name "python-keras")
- (version "2.3.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "Keras" version))
- (sha256
- (base32
- "1k68xd8n2y9ldijggjc8nn4d6d1axw0p98gfb0fmm8h641vl679j"))
- (modules '((guix build utils)))
- (snippet
- '(substitute* '("keras/callbacks/callbacks.py"
- "keras/engine/training_utils.py"
- "keras/engine/training.py"
- "keras/engine/training_generator.py"
- "keras/utils/generic_utils.py")
- (("from collections import Iterable")
- "from collections.abc import Iterable")
- (("collections.Container")
- "collections.abc.Container")
- (("collections.Mapping")
- "collections.abc.Mapping")
- (("collections.Sequence")
- "collections.abc.Sequence")))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'tf-compatibility
- (lambda _
- (substitute* "keras/backend/tensorflow_backend.py"
- (("^get_graph = .*")
- "get_graph = tf.get_default_graph")
- (("tf.compat.v1.nn.fused_batch_norm")
- "tf.nn.fused_batch_norm")
- ;; categorical_crossentropy does not support axis
- (("from_logits=from_logits, axis=axis")
- "from_logits=from_logits")
- ;; dropout accepts a level number, not a named rate argument.
- (("dropout\\(x, rate=level,")
- "dropout(x, level,")
- (("return x.shape.rank")
- "return len(x.shape)"))))
- (add-after 'unpack 'hdf5-compatibility
- (lambda _
- ;; The truth value of an array with more than one element is ambiguous.
- (substitute* "tests/keras/utils/io_utils_test.py"
- ((" *assert .* == \\[b'(asd|efg).*") ""))
- (substitute* "tests/test_model_saving.py"
- (("h5py.File\\('does not matter',")
- "h5py.File('does not matter', 'w',"))
- (substitute* "keras/utils/io_utils.py"
- (("h5py.File\\('in-memory-h5py', driver='core', backing_store=False\\)")
- "h5py.File('in-memory-h5py', 'w', driver='core', backing_store=False)")
- (("h5file.fid.get_file_image")
- "h5file.id.get_file_image"))
- (substitute* "keras/engine/saving.py"
- (("\\.decode\\('utf-?8'\\)") ""))))
- (add-after 'unpack 'delete-unavailable-backends
- (lambda _
- (delete-file "keras/backend/theano_backend.py")
- (delete-file "keras/backend/cntk_backend.py")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; These tests attempt to download data files from the internet.
- (delete-file "tests/integration_tests/test_datasets.py")
- (delete-file "tests/integration_tests/imagenet_utils_test.py")
- (invoke "python" "-m" "pytest" "tests"
- "-p" "no:pep8"
- ;; FIXME: python-build-system lacks PARALLEL-TESTS?
- "-n" (number->string (parallel-job-count))
- ;; This one uses the theano backend that we don't have.
- "--ignore=tests/test_api.py"
- "--ignore=tests/keras/backend/backend_test.py"
- ;; Our Tensorflow version does not have the coder ops library.
- "--ignore=tests/keras/callbacks/callbacks_test.py"
- ;; ...nor do we have tensorboard
- "--ignore=tests/keras/callbacks/tensorboard_test.py"
- "-k"
- (string-append
- ;; See https://github.com/keras-team/keras/pull/7033
- "not test_TimeDistributed_learning_phase "
- ;; XXX fails because no closure is provided
- "and not test_func_dump_and_load_backwards_compat "
- ;; XXX real bug? These are all tests that fail due to
- ;; shape mismatch, e.g. "got logits shape [12,3] and
- ;; labels shape [9]"
- "and not test_model_with_crossentropy_losses_channels_first "
- "and not test_masking_correctness_output_size_not_equal_to_first_state_size "
- "and not test_convolutional_recurrent "
- "and not test_axis "
-
- ;; XXX fails because of 3/15 values have unexpected differences.
- "and not test_masking_correctness_output_not_equal_to_first_state "
- ;; XXX fails because of a difference of about 0.1
- "and not test_sample_weighted "
- ;; XXX fails because of a difference of about 0.3
- "and not test_scalar_weighted "
- ;; XXX fails because of a difference of about 0.2
- "and not test_unweighted "
-
- ;; XXX I cannot reproduce this in an interactive
- ;; Python session, because l2_norm works just fine.
- "and not test_weighted " ;TestCosineSimilarity
- "and not test_config " ;TestCosineSimilarity
-
- ;; The following test fails only in the build
- ;; container; skip it.
- "and not test_selu "
- ;; The following test was found flaky and removed in
- ;; recent versions.
- "and not test_stateful_metrics"))))))))
- (propagated-inputs
- (list python-h5py
- python-keras-applications
- python-keras-preprocessing
- python-numpy
- python-pydot
- python-pyyaml
- python-scipy
- python-six
- tensorflow
- graphviz))
- (native-inputs
- (list python-flaky
- python-markdown
- python-pandas
- python-pytest
- python-pytest-cov
- python-pytest-timeout
- python-pytest-xdist
- python-pyux
- python-sphinx
- python-requests))
- (home-page "https://keras.io/")
- (synopsis "High-level deep learning framework")
- (description "Keras is a high-level neural networks API, written in Python
-and capable of running on top of TensorFlow. It was developed with a focus on
-enabling fast experimentation. Use Keras if you need a deep learning library
-that:
-@itemize
-@item Allows for easy and fast prototyping (through user friendliness,
- modularity, and extensibility).
-@item Supports both convolutional networks and recurrent networks, as well as
- combinations of the two.
-@item Runs seamlessly on CPU and GPU.
-@end itemize\n")
- (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
diff --git a/guix/lint.scm b/guix/lint.scm
index 2033aa36f1..fd46ea6eea 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -693,7 +693,7 @@ or \"bash-minimal\" is not in its inputs. 'wrap-script' is not supported."
input-names)))
(define (check-procedure-body body)
(match body
- ;; Explicitely setting an interpreter is acceptable.
+ ;; Explicitly setting an interpreter is acceptable.
(('wrap-program _ '#:sh . _) '())
(('wrap-program _ . _)
(list (report-wrap-program-error package 'wrap-program)))
@@ -1520,7 +1520,7 @@ password, provided REF's URI is HTTP or HTTPS."
(filter lint-warning?
(map (cut try store <>) (package-supported-systems package))))
- ;; For backwards compatability, don't rely on store being set
+ ;; For backwards compatibility, don't rely on store being set
(or (and=> store check-with-store)
(with-store store
(check-with-store store))))
@@ -2112,7 +2112,7 @@ them for PACKAGE."
(check check-input-labels))
(lint-checker
(name 'wrapper-inputs)
- (description "Make sure 'wrap-program' can finds its interpreter.")
+ (description "Make sure 'wrap-program' can find its interpreter.")
(check check-wrapper-inputs))
(lint-checker
(name 'license)
diff --git a/guix/transformations.scm b/guix/transformations.scm
index 19a1cba206..198b55ed23 100644
--- a/guix/transformations.scm
+++ b/guix/transformations.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Sarthak Shah <shahsarthakw@gmail.com>
-;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
@@ -500,7 +500,18 @@ actual compiler."
(string=? next (search-next "go")))
(cond
((string-prefix? "arm" psabi)
- (setenv "GOARM" (string-take-right psabi 1)))
+ ;; Parse the psabi to set the correct value
+ (cond ((= 5 (string-length psabi))
+ (setenv "GOARM" (string-take-right psabi 1)))
+ ((string=? "a" (string-take-right psabi 1))
+ (let ((version
+ (string-filter
+ (string->char-set ".v" char-set:digit)
+ psabi)))
+ (setenv "GOARM64"
+ (if (= 2 (string-length version))
+ (string-append version ".0")
+ version))))))
((string-prefix? "powerpc" psabi)
(setenv "GOPPC64" psabi))
((string-prefix? "x86_64" psabi)