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/bioinformatics.scm | 135 | ||||
-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/golang.scm | 21 | ||||
-rw-r--r-- | gnu/packages/guile-xyz.scm | 55 | ||||
-rw-r--r-- | gnu/packages/haskell-apps.scm | 24 | ||||
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 6 | ||||
-rw-r--r-- | gnu/packages/machine-learning.scm | 251 | ||||
-rw-r--r-- | gnu/packages/python-web.scm | 40 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 20 | ||||
-rw-r--r-- | guix/lint.scm | 6 | ||||
-rw-r--r-- | guix/transformations.scm | 15 |
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) |