diff options
Diffstat (limited to 'gnu/packages')
35 files changed, 1082 insertions, 665 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 622ce50020..153eed9d9a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3527,18 +3527,18 @@ player-like clients.") (version "0.10.0") (source (origin (method url-fetch) - (uri (string-append "http://das.nasophon.de/download/pyliblo-" + (uri (string-append "https://das.nasophon.de/download/pyliblo-" version ".tar.gz")) (sha256 (base32 "13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:tests? #f)) ;no tests (native-inputs - (list python-cython)) + (list python-cython python-setuptools python-wheel)) (inputs (list liblo)) - (home-page "http://das.nasophon.de/pyliblo/") + (home-page "https://das.nasophon.de/pyliblo/") (synopsis "Python bindings for liblo") (description "Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC) @@ -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 @@ -4848,21 +4848,18 @@ encode and decode wavpack files.") (license license:gpl3+)))) (define-public libmixed - ;; Release is much outdated. - (let ((commit "9b2668e0d85175b0e92864cfbf1b9e58f77c92e0") - (revision "1")) (package (name "libmixed") - (version (git-version "2.0" revision commit)) + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Shirakumo/libmixed") - (commit commit))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ql2h0hh4jl96sc9i6mk1d6qq261bvsfapinvzr9gx3lpzycpfb7")))) + (base32 "0g9z8mzrdp1j4w4dv6z2xkgknip6m6384n953y20wdvhs71gia1v")))) (build-system cmake-build-system) (arguments (list @@ -4890,7 +4887,7 @@ in audio/video/games. It can serve as a base architecture for complex DSP systems.") (license (list license:bsd-2 ; libsamplerate license:gpl2 ; spiralfft - license:zlib))))) + license:zlib)))) (define-public libmodplug (package @@ -6482,11 +6479,10 @@ as is the case with audio plugins.") (lambda _ (chmod (string-append #$output "/share/carla/carla") #o555))) (add-after 'install 'wrap-executables - (lambda* (#:key inputs #:allow-other-keys) - (wrap-script (string-append #$output "/bin/carla") - #:guile (search-input-file inputs "bin/guile") - `("GUIX_PYTHONPATH" ":" prefix - (,(getenv "GUIX_PYTHONPATH"))))))))) + (lambda _ + (wrap-program (string-append #$output "/bin/carla") + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))))))))) (inputs (list alsa-lib ffmpeg @@ -6505,10 +6501,7 @@ as is the case with audio plugins.") ;; (ModuleNotFoundError: No module named 'PyQt5') python-wrapper qtbase-5 - zlib - - ;; For WRAP-SCRIPT above. - guile-2.2)) + zlib)) (native-inputs (list pkg-config)) (home-page "https://kx.studio/Applications:Carla") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8dffc86c00..c59c7fa5db 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com> ;;; Copyright © 2025 nomike Postmann <nomike@nomike.com> ;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +79,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages bioconductor) #:use-module (gnu packages boost) + #:use-module (gnu packages certs) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages cmake) @@ -2835,41 +2837,51 @@ specifying the usage of each program for each cell in the data.") parsing of Variant Call Format (VCF) files.") (license license:expat))) -(define-public python-decoupler-py +(define-public python-decoupler (package - (name "python-decoupler-py") - ;; Upstream places release on a new branch, see - ;; <https://github.com/saezlab/decoupler-py/issues/175>. - (version "1.8.0") + (name "python-decoupler") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/saezlab/decoupler-py") - (commit version))) + (url "https://github.com/scverse/decoupler") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0c3yg7jjb1nxb6hsh9wn7wr8w0ba55gixdbf5fp443nhv1cwlajj")))) + "0b15n5sq940sn29jsgmdkkm4fcpzfq1n221scfwhjxb4ybdpsz4v")))) (build-system pyproject-build-system) (arguments (list #:test-flags - '(list "-k" - ;; These tests require internet access - (string-append "not test_get_resource" - " and not test_show_resources" - " and not test_get_dorothea" - " and not test_get_progeny" - " and not test_get_ksn_omnipath" - ;; This attempts to download things for Omnipath - " and not test_get_collectri")) + '(list "-k" (string-join + ;; Tests requiring internet access to reach out + ;; <datasets.cellxgene.cziscience.com>, <ftp.ebi.ac.uk>, + ;; <omnipathdb.org>, <raw.githubusercontent.com>, + ;; <static.omnipathdb.org>, <www.ensembl.org>, + ;; <www.ncbi.nlm.nih.gov>, and <zenodo.org>. + (list "not test_collectri" + "test_covid5k" + "test_dorothea" + "test_download" + "test_download_anndata" + "test_ensmbl_to_symbol" + "test_erygast1k" + "test_hallmark" + "test_hsctgfb" + "test_knocktf" + "test_msvisium" + "test_pbmc3k" + "test_progeny" + "test_resource" + "test_show_resources" + "test_translate" + ;; XXX: Some precision mismatched. + "test_func_gsea" + "test_net_corr") + " and not ")) #:phases '(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "pyproject.toml" - ;; numba = "^0.60.0"; all tests passed. - (("0.60.0") "0.61.0")))) (add-before 'check 'set-home ;; Some tests require a home directory to be set. (lambda _ (setenv "HOME" "/tmp"))) @@ -2878,27 +2890,35 @@ parsing of Variant Call Format (VCF) files.") (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-adjusttext python-anndata - python-ipython - python-matplotlib - python-nbsphinx + python-dcor + python-docrep + python-igraph + python-ipywidgets + python-marsilea python-numba - python-numpy - python-numpydoc - python-omnipath - python-scanpy - python-scikit-learn + python-requests python-scipy - python-skranger + python-session-info2 python-tqdm - python-typing-extensions)) - (native-inputs (list python-poetry-core python-pytest)) - (home-page "https://github.com/saezlab/decoupler-py") + python-xgboost)) + (native-inputs + (list nss-certs-for-test + python-hatchling + python-gseapy + python-memory-profiler + python-pytest + python-scanpy)) + (home-page "https://github.com/scverse/decoupler") (synopsis "Framework for modeling, analyzing and interpreting single-cell RNA-seq data") (description "This package provides different statistical methods to extract biological activities from omics data within a unified framework.") - (license license:gpl3+))) + (license license:bsd-3))) + +;; See: <https://github.com/scverse/decoupler/blob/main/CHANGELOG.md#200> +(define-public python-decoupler-py + (deprecated-package "python-decoupler-py" python-decoupler)) (define-public python-demuxem (package @@ -3119,16 +3139,16 @@ servers supporting the protocol.") (define-public python-liana-py (package (name "python-liana-py") - (version "1.4.0") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/saezlab/liana-py") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1kwbhfmsjhfc6m4kcp4zc2xgzg1qf16ywfkdamn868anwwrvjxzb")))) + "1k6l371wd00m95l5pb2jsmzzxh5nc5v21fg2v0cslr9761q151r9")))) (build-system pyproject-build-system) (arguments (list @@ -3159,27 +3179,30 @@ servers supporting the protocol.") " and not test_bivar_product" ;; XXX unclear failure: large difference in data ;; frames. - " and not test_aggregate_res") + " and not test_aggregate_res" + ;; XXX: ValueError: Only CSR and CSC matrices are + ;; supported. + " and not test_bivar_nondefault" + " and not test_masked_spearman" + " and not test_vectorized_spearman" + " and not test_basic_interpolation" + " and not test_different_methods" + " and not test_fill_value" + " and not test_use_raw_layer_parameters") ;; These need the optional squidpy, which we don't have yet. - "--ignore=liana/tests/test_misty.py" + "--ignore=tests/test_misty.py" ;; These need the optional corneto. - "--ignore=liana/tests/test_causalnet.py" + "--ignore=tests/test_causalnet.py" ;; Needs internet access. - "--ignore=liana/tests/test_orthology.py") + "--ignore=tests/test_orthology.py") #:phases '(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - ;; Don't fail the sanity check when these optional inputs aren't - ;; available. - (substitute* "pyproject.toml" - (("^pre-commit =.*") "")))) ;; Numba needs a writable directory to cache functions. (add-before 'build 'set-numba-cache-dir (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-anndata python-cell2cell - python-decoupler-py + python-decoupler python-hypothesis python-ipykernel python-ipython @@ -3199,10 +3222,8 @@ servers supporting the protocol.") python-tqdm tzdata)) (native-inputs - (list python-black - python-poetry-core - python-pytest - python-pytest-cov)) + (list python-hatchling + python-pytest)) (home-page "https://github.com/saezlab/liana-py") (synopsis "LIANA is a ligand-receptor analysis framework") (description "This is a Ligand-Receptor inference framework. The @@ -5012,7 +5033,7 @@ package provides command line tools using the Bio++ library.") (define-public blast+ (package (name "blast+") - (version "2.14.0") + (version "2.17.0") (source (origin (method url-fetch) (uri (string-append @@ -5020,7 +5041,7 @@ package provides command line tools using the Bio++ library.") version "/ncbi-blast-" version "+-src.tar.gz")) (sha256 (base32 - "003mn7m4y306k7visv3in3ikfgm8m41z0jq9lyvz10iv1hdpyixz")) + "0ix1bqgaywi3ggis4qvaipb0mk3llhgf52vmc97f744risl5f82h")) (modules '((guix build utils))) (snippet '(begin @@ -5636,7 +5657,7 @@ with MOFA+ in Python.") (define-public python-mudata (package (name "python-mudata") - (version "0.3.1") + (version "0.3.2") (source (origin (method git-fetch) (uri (git-reference @@ -5645,7 +5666,7 @@ with MOFA+ in Python.") (file-name (git-file-name name version)) (sha256 (base32 - "1m1qsqgk8snllavfj99qgm2j7cccviwg7k0k1kfbvqn0bkzc87sa")))) + "17s1w3746d35pcwr97ynhr7s5hfk76vsfcinwyqynx9k3xxi9br4")))) (build-system pyproject-build-system) (arguments (list @@ -7071,16 +7092,16 @@ trees (phylogenies) and characters.") (define-public python-py2bit (package (name "python-py2bit") - (version "0.3.0") + (version "0.3.3") (source (origin (method url-fetch) (uri (pypi-uri "py2bit" version)) (sha256 (base32 - "1vw2nvw1yrl7ikkqsqs1pg239yr5nspvd969r1x9arms1k25a1a5")))) + "0w1p4l1jwg9kkifm0jsg33a212ps0jn61islmnng2afp77y5nkr6")))) (build-system pyproject-build-system) - (native-inputs (list python-setuptools python-wheel)) + (native-inputs (list python-setuptools python-setuptools-scm python-wheel)) (home-page "https://github.com/dpryan79/py2bit") (synopsis "Access 2bit files using lib2bit") (description @@ -8748,18 +8769,7 @@ HMMs).") (sha256 (base32 "1kbr4ydjjhizz6r5m3xd4f0wj7qnn8zs0vnzghhgaa0yhbya5r19")))) - (build-system python-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - ;; Avoid rebuilding the extension. Everything is built during the - ;; 'install phase anyway. - (delete 'build) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-v"))))))) + (build-system pyproject-build-system) (propagated-inputs (list python-matplotlib python-numpy @@ -8769,6 +8779,8 @@ HMMs).") python-pandas python-pytest python-scipy + python-setuptools + python-wheel swig)) (home-page "https://github.com/htseq") (synopsis "Framework for analyzing high-throughput sequencing data") @@ -17043,7 +17055,7 @@ The following file formats are supported: (define-public salmon (package (name "salmon") - (version "1.10.1") + (version "1.10.3") (source (origin (method git-fetch) (uri (git-reference @@ -17052,7 +17064,7 @@ The following file formats are supported: (file-name (git-file-name name version)) (sha256 (base32 - "0grpcajxf2bch4b74zb66pdssda8yc7jvxj5ckaw0xvw1605rpcj")) + "0vii7nlx0ddn62qniwx4abfj6ajwl3w6mizavpa0mkhpxnm06rqw")) (modules '((guix build utils))) (snippet ;; Delete bundled headers for eigen3. @@ -17167,7 +17179,7 @@ The following file formats are supported: (file-name (git-file-name "pufferfish" version)) (sha256 (base32 - "0fcv5rd2k4fabsg489sjfxgjisivhwk1w26gfc88rgpszdkcla36")))))) + "0h12h4wv7k3if1m6as7wvrbd7djm0zsg1vs0xn84bnrswwv5z2l3")))))) (home-page "https://github.com/COMBINE-lab/salmon") (synopsis "Quantification from RNA-seq reads using lightweight alignments") (description "Salmon is a program to produce highly-accurate, @@ -19738,7 +19750,7 @@ implementation differs in these ways: (define-public python-scanpy (package (name "python-scanpy") - (version "1.10.4") + (version "1.11.2") (source (origin (method git-fetch) @@ -19748,12 +19760,14 @@ implementation differs in these ways: (file-name (git-file-name name version)) (sha256 (base32 - "139d6fsdbhg1hqqq5yyl8hr3cqz2mj70i0i8r1mq6z6a8qmq1p4z")))) + "18ddb3jkyjan87f5kymyq951sa5955z41f10h6z954map8dy2136")))) (build-system pyproject-build-system) (arguments (list + ;; 736 passed, 95 skipped, 20 xfailed, 148 warnings #:test-flags '(list "-m" "not gpu" + "--numprocesses" (number->string (parallel-job-count)) ;; These tests require Internet access. "--ignore-glob=tests/notebooks/*" "--ignore=tests/test_clustering.py" @@ -19771,9 +19785,10 @@ implementation differs in these ways: "--ignore=tests/test_preprocessing.py" "--ignore=tests/test_read_10x.py" "--ignore=plotting/_tools/scatterplots.py" - ;; The following tests requires 'scanorama', which isn't - ;; packaged yet. - "--ignore=tests/external/test_scanorama_integrate.py" + ;; Adding additional options does not help to resolve the + ;; faileur: TypeError: _FlakyPlugin._make_test_flaky() got an + ;; unexpected keyword argument 'reruns'. + "--ignore=tests/test_backed.py" "-k" ;; Plot tests that fail. (string-append "not test_clustermap" @@ -19784,6 +19799,8 @@ implementation differs in these ways: " and not test_paga_plots" " and not test_violin" " and not test_scatter_no_basis_per_obs" + " and not test_spatial_general" + " and not test_visium_empty_img_key" ;; These are doctests that fail because of missing ;; datasets. @@ -19801,7 +19818,21 @@ implementation differs in these ways: " and not test_pca_layer" " and not test_pca_sparse" " and not test_pca_reproducible" - " and not test_clip")) + " and not test_clip" + + ;; Missing test data. + " and not test_covariance_eigh_impls" + " and not test_embedding_colorbar_location" + " and not test_sparse_dask_input_errors" + " and not test_sparse_dask_input_errors" + " and not test_spatial_external_img" + + ;; Somehow broken tests. + " and not test_sim_toggleswitch" + " and not scanpy.datasets._datasets.krumsiek11" + " and not scanpy.datasets._datasets.toggleswitch" + " and not scanpy.external.pp._scanorama_integrate.scanorama_integrate" + " and not scanpy.preprocessing._simple.filter_cells")) #:phases #~(modify-phases %standard-phases ;; XXX This should not be necessary, but I noticed while building @@ -19825,9 +19856,12 @@ implementation differs in these ways: (string-append (getcwd) ":" #$(this-package-native-input "python-anndata:source") ":" (getenv "GUIX_PYTHONPATH"))))) - ;; Numba needs a writable dir to cache functions. - (add-before 'check 'set-numba-cache-dir - (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) + (add-before 'check 'pre-check + (lambda _ + ;; Numba needs a writable dir to cache functions. + (setenv "NUMBA_CACHE_DIR" "/tmp") + ;; For Matplotlib. + (setenv "HOME" "/tmp")))))) (propagated-inputs (list python-anndata python-dask @@ -19843,27 +19877,30 @@ implementation differs in these ways: python-packaging python-pandas python-patsy + python-pytoml python-scikit-learn python-scipy - python-setuptools ; For pkg_resources. python-seaborn - python-session-info + python-session-info2 + python-setuptools ; For pkg_resources. python-sinfo python-statsmodels python-tables - python-pytoml python-tqdm python-umap-learn)) (native-inputs `(;; This package needs anndata.tests, which is not installed. ("python-anndata:source" ,(package-source python-anndata)) + ("python-flaky" ,python-flaky) ("python-flit" ,python-flit) - ("python-hatchling" ,python-hatchling) ("python-hatch-vcs" ,python-hatch-vcs) + ("python-hatchling" ,python-hatchling) ("python-leidenalg" ,python-leidenalg) ("python-pytest" ,python-pytest) ("python-pytest-mock" ,python-pytest-mock) ("python-pytest-nunit" ,python-pytest-nunit) + ("python-pytest-xdist" ,python-pytest-xdist) + ("python-scanorama" ,python-scanorama) ("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/theislab/scanpy") (synopsis "Single-Cell Analysis in Python") @@ -22844,8 +22881,8 @@ pairs.") (license license:expat))) (define-public r-hdf5dataframe - (let ((commit "1cdb905b1f6af3339938de3e1ca407908bc93e47") - (revision "1")) + (let ((commit "1e30e6b82b5599d5d98fbcb8bf7312dd1711ca3c") + (revision "2")) (package (name "r-hdf5dataframe") (version (git-version "0.0.0" revision commit)) @@ -22857,12 +22894,12 @@ pairs.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1pk22h56x873gahj2nwnwxzyq5a27h363mxk1491irypvk78dpn9")))) + (base32 "0y6hp31gy17v87ll4rij6pwy6b7k7gnw8iwnvzsaa13ga73g69ak")))) (properties `((upstream-name . "HDF5DataFrame"))) (build-system r-build-system) (propagated-inputs (list r-biocgenerics r-delayedarray r-hdf5array r-rhdf5 r-s4vectors)) - (native-inputs (list r-knitr)) + (native-inputs (list r-knitr r-testthat)) (home-page "https://github.com/BIMSBbioinfo/HDF5DataFrame") (synopsis "Bioconductor-friendly bindings for Parquet") (description @@ -22997,6 +23034,7 @@ guix_python <- \"~a\";" python-scipy python-tifffile python-zarr + which ;tests/testthat/test_conversion.R zlib)) (propagated-inputs (list r-data-table r-dplyr @@ -23525,7 +23563,7 @@ compute communities on graphs weighted or unweighted.") (define-public ivar (package (name "ivar") - (version "1.4.2") + (version "1.4.4") (source (origin (method git-fetch) (uri (git-reference @@ -23534,7 +23572,7 @@ compute communities on graphs weighted or unweighted.") (file-name (git-file-name name version)) (sha256 (base32 - "0v3rsak84ilg4iaynwpmmkj507vham5rjk2pfsmylpaqylgc69yx")))) + "1bwygjv81m4yv5ycxb5gx22k6njgwrzzs7jrsadq6363klcv4irh")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 9660cff1c7..b6c767e3bf 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2775,16 +2775,18 @@ across test runs.") (define-public python-pytest-sugar (package (name "python-pytest-sugar") - (version "0.9.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-sugar" version)) (sha256 - (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n")))) - (build-system python-build-system) + (base32 "02kc4y0ry4y9lp63kjq9p7yvbjijfxn1fcn6wx6c1c7mb0rfh8k4")))) + (build-system pyproject-build-system) (propagated-inputs (list python-packaging python-pytest python-termcolor)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://pivotfinland.com/pytest-sugar/") (synopsis "Plugin for pytest that changes the default look and feel") (description diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 64b7d820b4..1d1c395d8d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -53413,21 +53413,40 @@ the @code{raster} package that is suitable for extracting raster values using (define-public r-stringfish (package (name "r-stringfish") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (cran-uri "stringfish" version)) (sha256 (base32 - "14vrg6mkwwgw1klgpvjn7936yfxav55rainz71xjjih2j21vq21n")))) + "0x6nad21q7shsl7wjzldb6si7j09dyxksrpq29cxphh79d0ga2ly")))) (properties '((upstream-name . "stringfish") (updater-extra-inputs . ("pcre2")))) (build-system r-build-system) - ;; Tests require r-qs, which depends on this package. - (arguments (list #:tests? #false)) - (inputs (list pcre2)) + (arguments + (list + ;; Tests require r-qs, which depends on this package. + #:tests? #false + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-system-tbb + (lambda _ + (setenv "TBB_ROOT" #$(this-package-input "tbb")))) + (add-before 'install 'relax-gcc-14-strictness + (lambda _ + ;; XXX FIXME: $HOME/.R/Makevars seems to be the only way to + ;; set custom CFLAGS for R? + (setenv "HOME" (getcwd)) + (mkdir-p ".R") + (with-directory-excursion ".R" + (with-output-to-file "Makevars" + (lambda _ + (display (string-append + "CXXFLAGS=-g -O2" + " -Wno-error=changes-meaning\n")))))))))) + (inputs (list pcre2 tbb-2020)) (propagated-inputs (list r-rcpp r-rcppparallel)) (native-inputs diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index f262aaf95b..d6a042a378 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3694,15 +3694,66 @@ with Python's asyncio framework.") (define-public python-asyncmy (package (name "python-asyncmy") - (version "0.2.5") + (version "0.2.10") (source - (origin - (method url-fetch) - (uri (pypi-uri "asyncmy" version)) - (sha256 - (base32 "0i18zxy6xvzv6dk791xifn2sw2q4zvqwpzrzy8qx51d3mp8z6gng")))) - (build-system python-build-system) - (native-inputs (list python-cython)) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/long2ice/asyncmy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10sqihiwx7vsdaavgl418hhk7d5rl6d1i60y5bjr76mdfny18q55")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Most tests fail, probably because + ;; of pytest-asyncio version mismatch. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (for-each delete-file + (find-files (site-packages inputs outputs) + "\\.(c|pyx)$")))) + + (replace 'check + (lambda* (#:key tests? #:allow-other-keys #:rest rest) + (when tests? + ;; XXX: Else pytest picks up the wrong __init__.py + (delete-file-recursively "asyncmy") + ;; The tests rely on a MySQL or MariaDB test server + ;; being available. + (let ((datadir "/tmp/mysql") + (socket "/tmp/mysql/mysqld.sock") + (username "root") + (password "123456")) ;default in conftest.py + (invoke "mysqld" "--initialize-insecure" + (string-append "--datadir=" datadir)) + (spawn "mysqld" + (list + "mysqld" + ;; Respect '--datadir'. + "--no-defaults" + (string-append "--datadir=" datadir) + (string-append "--socket=" socket))) + (sleep 1) + (invoke "mysql" + (string-append "--socket=" socket) + "-u" "root" + "-e" (string-append + "ALTER USER 'root'@'localhost' IDENTIFIED BY '" + password "';")) + (apply (assoc-ref %standard-phases 'check) + `(#:tests? ,tests? ,@rest))))))))) + (native-inputs + (list mysql + python-cython + python-poetry-core + python-pytest + python-pytest-asyncio + python-setuptools)) (home-page "https://github.com/long2ice/asyncmy") (synopsis "Fast MySQL driver for Python") (description "@code{asyncmy} is a fast @code{asyncio} MySQL driver, which diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index a13ad2196a..995e625d17 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -561,12 +561,12 @@ The following features are currently available: (define-public opensta ;; There are no releases, we use last commit. - (let ((commit "eb8d39a7dd81b5ca2582ad9bbce0fb6e094b3e0f") + (let ((commit "12f03395ec80d3593f4796b2a3cf5480e75735bd") (revision "0")) (package (name "opensta") ;; The version string is taken from the CMakeLists.txt. - (version (git-version "2.6.2" revision commit)) + (version (git-version "2.7.0" revision commit)) (source (origin (method git-fetch) @@ -575,20 +575,27 @@ The following features are currently available: (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0bpc7fj4pd5713yny2vrh542jbag1kj20g0ji01c9scqb9av5qw5")))) + (base32 "1gka50p4wv2b49d8jbw5fs3qg7cppa8ynl3diqgdf8mqgskwapzf")))) (build-system cmake-build-system) (arguments (list + ;; Tests expect output sta binary inside source tree. + #:out-of-source? #f #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "../source/test/regression"))))) + (invoke "../test/regression")))) + (add-before 'build 'create-build-dir + (lambda _ + (mkdir-p "./build") + (chdir "./build")))) #:configure-flags #~(list (string-append "-DCUDD_DIR=" #$(this-package-input "cudd")) - (string-append "-DBUILD_SHARED_LIBS=YES")))) + (string-append "-DBUILD_SHARED_LIBS=YES") + "-B./build"))) (native-inputs (list bison flex swig)) (inputs (list cudd eigen tcl tcllib zlib)) (synopsis "Parallax Static Timing Analyzer") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 222d065db3..e32f813878 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14171,7 +14171,7 @@ interface.") (define-public emacs-orderless (package (name "emacs-orderless") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -14179,11 +14179,12 @@ interface.") (url "https://github.com/oantolin/orderless") (commit version))) (sha256 - (base32 "1la91fk322n600h4wnavx7a6rdc44mz4v4gg1fb3cpwjsw746sl8")) + (base32 "0cgklam29vsfrl70n3cqv1dxbsnpzjylfxabfs9v1yz02q27nggv")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments (list + #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo @@ -14194,7 +14195,8 @@ interface.") (native-inputs (list texinfo)) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/oantolin/orderless") - (synopsis "Emacs completion style that matches multiple regexps in any order") + (synopsis + "Emacs completion style that matches multiple regexps in any order") (description "This package provides an orderless completion style that divides the pattern into space-separated components, and matches candidates that match all of the components in any order. Each component can match in @@ -14590,7 +14592,7 @@ expansion and overwriting the marked region with a new snippet completion.") (define-public emacs-marginalia (package (name "emacs-marginalia") - (version "2.0") + (version "2.2") (source (origin (method git-fetch) @@ -14599,21 +14601,20 @@ expansion and overwriting the marked region with a new snippet completion.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00dzckksfzvwjdy3v1g71nvkxnnpw2bmh8bmhf56qn3nzfj2yr89")))) + (base32 "1grn94v5pidb9wk2vgxx5n3fmhcgx9i14lrwm5clvsvncysy7zhg")))) (build-system emacs-build-system) (arguments (list + #:tests? #f ;no tests #:phases #~(modify-phases %standard-phases - (add-after 'install 'makeinfo + (add-before 'install 'makeinfo (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" "--eval=(find-file \"README.org\")" - "--eval=(org-texinfo-export-to-info)") - (install-file "marginalia.info" - (string-append #$output "/share/info"))))))) + "--eval=(org-texinfo-export-to-info)")))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-compat)) @@ -20659,7 +20660,7 @@ using a convenient notation.") (let ((commit "c3f4583b0767e7f8c38c83ed29af40af8ba3bdfa")) ;version bump (package (name "emacs-beframe") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -20672,17 +20673,16 @@ using a convenient notation.") (build-system emacs-build-system) (arguments (list + #:tests? #f ;no tests #:phases #~(modify-phases %standard-phases - (add-after 'install 'makeinfo + (add-before 'install 'makeinfo (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" "--eval=(find-file \"README.org\")" - "--eval=(org-texinfo-export-to-info)") - (install-file "beframe.info" - (string-append #$output "/share/info"))))))) + "--eval=(org-texinfo-export-to-info)")))))) (native-inputs (list texinfo)) (home-page "https://protesilaos.com/emacs/beframe") @@ -32489,17 +32489,32 @@ buffer displays recursive dir sizes.") (define-public emacs-dired-preview (package (name "emacs-dired-preview") - (version "0.4.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/protesilaos/dired-preview") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "016g2scl3ifngy67s5dalnywxxj1xdf1mibpqda2zgynx0czvv7l")))) + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/protesilaos/dired-preview") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p6v1dx33f7ypi026pp4jjzh81n5vl4gy63cwhql0sbwsbxsz8y9")))) (build-system emacs-build-system) + (arguments + (list + #:test-command + #~(list "ert-runner" "-L" "tests" "tests/dired-preview-test.el") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'makeinfo + (lambda _ + (invoke "emacs" + "--batch" + "--eval=(require 'ox-texinfo)" + "--eval=(find-file \"README.org\")" + "--eval=(org-texinfo-export-to-info)")))))) + (native-inputs (list emacs-ert-runner texinfo)) (home-page "https://protesilaos.com/emacs/dired-preview") (synopsis "Automatically preview file at point in Dired") (description @@ -38539,7 +38554,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (define-public emacs-fj (package (name "emacs-fj") - (version "0.17") + (version "0.21") (source (origin (method git-fetch) @@ -38548,7 +38563,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0857h9pkzdmf2cgd3ss4q405n219gfdsfryp6w4mr0mp87dpgz84")))) + (base32 "0pvk69i6nz1gf36labj6cdskw8qsx44hx2z78s2fcvr8z4a345rl")))) (build-system emacs-build-system) (arguments (list #:tests? #f)) ; no tests (propagated-inputs (list emacs-fedi emacs-magit emacs-tp)) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index 71f45bc57d..6298bd4904 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) #:use-module (gnu packages version-control) #:use-module (guix gexp) #:use-module (guix packages) @@ -39,6 +40,7 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix licenses) #:use-module (srfi srfi-1)) @@ -149,7 +151,7 @@ Ispell-compatible.") (sha256 (base32 "1872ckgdip8nj9rnh167m0gsj5754qfg2hjxzsl1s06f5akwscgw")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:tests? #f; FIXME: Dictionary for language 'en_US' could not be found #:phases @@ -163,6 +165,8 @@ Ispell-compatible.") "/lib/libenchant-2.so\"")))))))) (inputs (list enchant)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://github.com/pyenchant/pyenchant") (synopsis "Spellchecking library for Python") (description "PyEnchant is a spellchecking library for Python, based on the 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/geo.scm b/gnu/packages/geo.scm index 35700b2382..367440ccc7 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -554,7 +554,7 @@ topology functions.") gtk libadwaita libgee - libgweather4 + libgweather librsvg libsecret libshumate diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 506578fb11..9e3a641f07 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1632,7 +1632,7 @@ extraction, and lookup for applications on the desktop.") json-glib mit-krb5 libadwaita - libgweather4 + libgweather libnma libpwquality libsecret @@ -6135,69 +6135,6 @@ service via the system message bus.") services for numerous locations.") (license license:gpl2+))) -;; libgweather no longer follows the GNOME version, and recommends changing -;; the package name in distributions to avoid accidental downgrades. See -;; <https://discourse.gnome.org/t/changes-in-libgweather-for-gnome-42/7770/2>. -;; TODO: how to prevent the updater from picking version 40? -(define-public libgweather4 - (package - (inherit libgweather) - (name "libgweather4") - (version "4.2.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libgweather/" - (version-major+minor version) "/" - "libgweather-" version ".tar.xz")) - (sha256 - (base32 - "00v2rb9dizfvcsq3bgrz68bsi1k04ln5fqhx1q06m5yql0nq32mg")))) - (arguments - (list - #:configure-flags - #~(list (string-append "-Dzoneinfo_dir=" - (search-input-directory %build-inputs - "share/zoneinfo"))) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'set-HOME - (lambda _ - (setenv "HOME" "/tmp"))) - (add-after 'unpack 'disable-problematic-tests - (lambda _ - (substitute* "libgweather/tests/meson.build" - ;; The timezones test fails for unknown reasons (see: - ;; https://gitlab.gnome.org/GNOME/libgweather/-/issues/188). - ((".*'name': 'timezones'.*") "") - ;; The 'metar' test is known to fail, fixed but not yet released - ;; upstream (see: - ;; https://gitlab.gnome.org/GNOME/libgweather/-/issues/168). - ((".*'name': 'metar'.*") "")))) - (delete 'check) ;move after the install phase - (add-after 'install 'check - (assoc-ref %standard-phases 'check))))) - (native-inputs - (list gettext-minimal - gi-docgen - `(,glib "bin") ;for glib-mkenums - gobject-introspection - (libc-utf8-locales-for-target) - gsettings-desktop-schemas - pkg-config - python - python-pygobject - vala)) - ;; TODO: It would be good to make the package respect TZDIR instead - ;; of using a "hard coded" version of tzdata. - (inputs (list tzdata)) - (propagated-inputs - ;; gweather4.pc refers to all of these. - (list geocode-glib - glib - json-glib - libsoup - libxml2)))) - (define-public gnome-settings-daemon (package (name "gnome-settings-daemon") @@ -6262,7 +6199,7 @@ services for numerous locations.") lcms libcanberra libgudev - libgweather4 + libgweather libnotify (librsvg-for-system) libwacom @@ -8495,7 +8432,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") gnome-online-accounts json-glib libcanberra - libgweather4 + libgweather libphonenumber mit-krb5 openldap @@ -9717,7 +9654,7 @@ printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ ibus libcanberra libcroco - libgweather4 + libgweather libnma libsoup mesa-headers @@ -10457,7 +10394,7 @@ associations for GNOME.") gsettings-desktop-schemas gtk libadwaita - libgweather4)) + libgweather)) (synopsis "Weather monitoring for GNOME desktop") (description "GNOME Weather is a small application that allows you to monitor the current weather conditions for your city, or anywhere in the @@ -10890,7 +10827,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") gsound gtk libadwaita - libgweather4)) + libgweather)) (home-page "https://wiki.gnome.org/Apps/Clocks") (synopsis "GNOME's clock application") (description @@ -10940,7 +10877,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") gsettings-desktop-schemas libadwaita libdazzle - libgweather4)) + libgweather)) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description @@ -12376,7 +12313,7 @@ generic enough to work for everyone.") gspell highlight libcanberra - libgweather4 + libgweather libnotify libsoup nss diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 486af36202..eae66e64b6 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015-2021, 2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015-2021, 2024, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2019, 2025 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> @@ -207,6 +207,18 @@ Daemon and possibly more in the future.") (add-before 'configure 'setenv (lambda _ (setenv "GCRYPT_NO_BENCHMARKS" "t"))))) + '()) + ,@(if (target-arm32?) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'apply-upstream-patch + (lambda _ + (let ((patch-file + #$(local-file + (search-patch + "libgcrypt-arm32-register-pressure.patch")))) + (invoke "patch" "--force" "-p1" "-i" patch-file)))))) '()))) (outputs '("out" "debug")) (home-page "https://gnupg.org/") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 3c52d46eda..e707e44fc8 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -4884,36 +4884,6 @@ return accumulators. It is implemented by wrapping the sample implementation in a thin Guile compatibility layer.") (license license:gpl3+)))) -(define-public guile-srfi-159 - (let ((commit "1bd98abda2ae4ef8f36761a167903e55c6bda7bb") - (revision "0")) - (package - (name "guile-srfi-159") - (version (git-version "0" revision commit)) - (home-page "https://bitbucket.org/bjoli/guile-srfi-159") - (source (origin - (method hg-fetch) - (uri (hg-reference (changeset commit) - (url home-page))) - (sha256 - (base32 - "1zw6cmcy7xdbfiz3nz9arqnn7l2daidaps6ixkcrc9b6k51fdv3p")) - (file-name (git-file-name name version)))) - (build-system guile-build-system) - (arguments - ;; The *-impl.scm files are actually included from module files; they - ;; should not be compiled separately, but they must be installed. - '(#:not-compiled-file-regexp "-impl\\.scm$")) - (inputs - (list guile-2.2)) - (synopsis "Formatting combinators for Guile") - (description - "The @code{(srfi-159)} module and its sub-modules implement the -formatting combinators specified by -@uref{https://srfi.schemers.org/srfi-159/srfi-159.html, SRFI-159}. These are -more expressive and flexible than the traditional @code{format} procedure.") - (license license:bsd-3)))) - (define-public guile-srfi-180 (let ((commit "9188bf9724c6d320ef804579d222e855b007b193") (revision "0")) @@ -7615,25 +7585,22 @@ ftypes.") (define-public guile-goblins (package (name "guile-goblins") - (version "0.15.1") + (version "0.16.0") (source (origin (method url-fetch) (uri (string-append "https://files.spritely.institute/releases" - "/guile-goblins/guile-goblins-" - version ".tar.gz")) + "/guile-goblins/guile-goblins-" version ".tar.gz")) (sha256 - (base32 - "05qqryhhs9rci01j08nbchmif1h9889bwqqv830ywygl1bld50ys")))) + (base32 "0w3lxhj95vcp6w38z5ygpjf5lw8j523j2znkmg22p1jyqx7kl7c8")))) (build-system gnu-build-system) (arguments - (list #:make-flags - #~(list "GUILE_AUTO_COMPILE=0"))) - (native-inputs - (list pkg-config texinfo)) + (list + #:make-flags + #~(list "GUILE_AUTO_COMPILE=0"))) + (native-inputs (list pkg-config texinfo)) (inputs (list guile-3.0)) - (propagated-inputs - (list guile-fibers guile-gnutls guile-websocket)) + (propagated-inputs (list guile-fibers guile-gnutls guile-websocket)) (home-page "https://spritely.institute/goblins") (synopsis "Distributed programming environment for Guile") (description diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index f473527449..0c0351dd9d 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020, 2022, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> @@ -112,6 +112,16 @@ (substitute* "source/test/Makefile.in" ((" intltest ") " "))))) #~()) + #$@(if (target-arm32?) + #~((add-after 'unpack 'disable-failing-test + (lambda _ + ;; The caltest test started to fail to compile after + ;; the upgrade to gcc-14 but it's unclear which test is + ;; failing or how to disable just that one test. + ;; Error: co-processor offset out of range + (substitute* "source/test/Makefile.in" + ((" intltest ") " "))))) + #~()) (add-after 'install 'avoid-coreutils-reference ;; Don't keep a reference to the build tools. (lambda _ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 54a9aa9ba0..a0f85d3a2d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3090,6 +3090,7 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (apply invoke `("gcc" "-shared" "-O3" "-fPIC" "-Wl,--exclude-libs,ALL" + "-Wno-error=implicit-function-declaration" ,@(find-files "jhdf5" "\\.c$") ,@(find-files "hdf-java" "\\.c$") ,(string-append "-I" hdf5 "/include") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9668e078a8..79a72941ee 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -514,17 +514,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.15-version "6.15.6") +(define-public linux-libre-6.15-version "6.15.9") (define-public linux-libre-6.15-gnu-revision "gnu") (define deblob-scripts-6.15 (linux-libre-deblob-scripts linux-libre-6.15-version linux-libre-6.15-gnu-revision (base32 "05fr8s00ljj7v26z3gb1yrfna42i7zy36x6wrg74ai5hwwc7jfnd") - (base32 "05153ci3sk9gsq8vgk6phvzszldaj2psmyp10cjivm3gl6qvkbhk"))) + (base32 "1dgdrdgzjn2lqw2x7slpkka1x1mgvzy56jhvbfvypzfgs3lpiqhi"))) (define-public linux-libre-6.15-pristine-source (let ((version linux-libre-6.15-version) - (hash (base32 "1z5l0b59q56qj6s56cxzv43lhfx9z9sp4vfziw60fz97ak4qdd9b"))) + (hash (base32 "0zcma8ycdwwzd4yci9752acsv85wh27lahclh5x2yc4jakw3lkz9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.15))) @@ -548,52 +548,52 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-6.12-version "6.12.38") +(define-public linux-libre-6.12-version "6.12.41") (define-public linux-libre-6.12-gnu-revision "gnu") (define deblob-scripts-6.12 (linux-libre-deblob-scripts linux-libre-6.12-version linux-libre-6.12-gnu-revision (base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp") - (base32 "1hc3fgc0wajlwbsjkvfcxvmjw4bcxfbrnbfbcasbczz7if4f0fvf"))) + (base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j"))) (define-public linux-libre-6.12-pristine-source (let ((version linux-libre-6.12-version) - (hash (base32 "1k0gcwavn5iws3z1as39227i2hnc62qnfddjfqy7k7ymhf6zldgh"))) + (hash (base32 "09qfpxyxi3z8cd64r2r5mxvh54a5sx8p5mk4d50y4ga2k6pa66bb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.12))) -(define-public linux-libre-6.6-version "6.6.98") +(define-public linux-libre-6.6-version "6.6.101") (define-public linux-libre-6.6-gnu-revision "gnu") (define deblob-scripts-6.6 (linux-libre-deblob-scripts linux-libre-6.6-version linux-libre-6.6-gnu-revision (base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq") - (base32 "1zzpk2hpv76lylip4j7jkn0jqcjj15h3jff22x22i73mwz2kiqgk"))) + (base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk"))) (define-public linux-libre-6.6-pristine-source (let ((version linux-libre-6.6-version) - (hash (base32 "1raxyhvv0yay3k1izwcqdbq9322nflflfzcn9d1jrhmb032k8si9"))) + (hash (base32 "1h71zbqlsxcafrk218s0rip9rdrj0fzqvsl81ndqnlrnjy3g4kwc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.6))) -(define-public linux-libre-6.1-version "6.1.145") +(define-public linux-libre-6.1-version "6.1.147") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts linux-libre-6.1-version linux-libre-6.1-gnu-revision (base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza") - (base32 "1hzjr44hy8px4n3x5my2syhd60chkfy79ajgzvlz04pc5yf6ihpi"))) + (base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0qrkcrqb0migsrq6xl1idyz8n6vjbdk74z4sc9na97b6n5vp0r9i"))) + (hash (base32 "1xv6whvxjcdmvv0cil7nnac4hs2hxjnc98agx08xiqs179k2b3r1"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.188") +(define-public linux-libre-5.15-version "5.15.189") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -603,27 +603,27 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1nfcrdwa2mgih57ch9kh8gc6jl950a7vpqgr56xk1b02303km5f4"))) + (hash (base32 "1hshd26ahn6dbw6jnqi0v5afpk672w7p09mk7iri93i7hxdh5l73"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.239") +(define-public linux-libre-5.10-version "5.10.240") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version linux-libre-5.10-gnu-revision - (base32 "1lg0sxfjn0hpcdfyqy2r5kchnjfyyx2xraxhmjhwwkpiwl9ph501") - (base32 "11liynz5vayms646gj0rjj8fmrqhv203mwsqs3sx9p8y84v50d4p"))) + (base32 "1wn9k4lbxcc9rzl1rqidlnb472wyayillrh57gyxnghi7j9ghqna") + (base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1nzhl1y6avfl77fyqwjwy3qc6679gp92k0d3aarscrdydcml5yid"))) + (hash (base32 "04sdcf4aqsqchii38anzmk9f9x65wv8q1x3m9dandmi6fabw724d"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.295") +(define-public linux-libre-5.4-version "5.4.296") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1adn0pbk8y1zp1yrz83ch6h4wypm2qvbnx4xig3sls2nfgvmi0f4"))) + (hash (base32 "0fm73yqzbzclh2achcj8arpg428d412k2wgmlfmyy6xzb1762qrx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 83e408b972..de64f618f8 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8110,8 +8110,10 @@ of http://code.google.com/p/mimeparse/, with a Common Lisp flavor.") (sbcl-package->clasp-package sbcl-cl-mimeparse)) (define-public sbcl-cl-mixed - (let ((commit "4aaff134d3902d93a2a8605c10de4bcfc62d7afa") - (revision "0")) + ;; There are no releases, but this commit is entitled + ;; "Bump to libmixed-2.4.0". + (let ((commit "3da661ae199be94f822e3f9ef6bf03bc6456652b") + (revision "1")) (package (name "sbcl-cl-mixed") (version (git-version "2.1.0" revision commit)) @@ -8123,7 +8125,7 @@ of http://code.google.com/p/mimeparse/, with a Common Lisp flavor.") (commit commit))) (file-name (git-file-name "cl-mixed" version)) (sha256 - (base32 "1mrj95lxb1gbxxm89x8gy1ifw2ic1p5wwpapkxcd2jr8abw7zny0")) + (base32 "0i7bb2b3a9i4kgp7dzzs5211xj56zzcpwkjlfxpslfp7iz0685y0")) (modules '((guix build utils))) (snippet ;; Delete bundled libraries. diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 2b6955b406..79b5cc13ef 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -882,8 +882,11 @@ without dependencies, with "15xlax3z31lsn62vlg94hkm75nm40q4679amnfg13jm8m2bnhy5m")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-blast" - "CFLAGS=-fcommon"))) + (list + #:configure-flags + #~(list "--enable-blast" + (string-append "CFLAGS=-fcommon -g -O2" + " -Wno-error=implicit-function-declaration")))) (inputs (list perl)) (home-page "https://micans.org/mcl/") @@ -6375,20 +6378,25 @@ and Numpy.") (package (name "python-pyro-api") (version "0.1.2") - (source (origin - (method url-fetch) - (uri (pypi-uri "pyro-api" version)) - (sha256 - (base32 - "086r2h6x9i5d9ayl1x65lx6p84rlydzsn8xingxc588ab3ch1fd1")))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyro-ppl/pyro-api") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17x7niagx43cajqq67dxmssr7q94db6axyg154y7vqdxzp25hf7g")))) + (build-system pyproject-build-system) (arguments '(#:tests? #false)) ;requires pyro (native-inputs (list python-flake8 python-ipython python-pytest + python-setuptools python-sphinx - python-sphinx-rtd-theme)) + python-sphinx-rtd-theme + python-wheel)) (home-page "https://github.com/pyro-ppl/pyro-api") (synopsis "Generic API for dispatch to Pyro backends") (description "This package provides a generic API for dispatch to Pyro backends.") @@ -6592,7 +6600,7 @@ linear algebra routines needed for structured matrices (or operators).") (lambda (x) (install-file x src)) (find-files "." "\\.h$")))))))) (inputs (list kaldi openfst openblas)) - (home-page "https://alphacephei.com/vosk") + (home-page "https://alphacephei.com/vosk/") (synopsis "Speech recognition toolkit based on @code{kaldi}") (description "This package provides a speech recognition toolkit based on @code{kaldi}. It supports more than 20 languages and dialects - English, @@ -6613,10 +6621,12 @@ simple speech recognition.") (package (inherit vosk-api) (name "python-vosk") - (build-system python-build-system) + (build-system pyproject-build-system) (propagated-inputs (list python-cffi python-requests python-tqdm python-srt python-websockets)) (inputs (list vosk-api)) + (native-inputs + (list python-setuptools python-wheel)) (arguments (list #:tests? #f ;; TODO There are tests but not run through Makefile. diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 8e7394946e..860d63b366 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -5247,6 +5247,12 @@ and more. Full API documentation and examples are included.") #:configure-flags '(list "-DWANT_QT5=ON" "-DWANT_VST=OFF") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-carla-export + ;; Taken from NixOS package definition. + (lambda _ + (substitute* "plugins/carlabase/carla.h" + (("CARLA_EXPORT") + "CARLA_API_EXPORT")))) (add-after 'unpack 'unpack-rpmalloc (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "rpmalloc") diff --git a/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch b/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch new file mode 100644 index 0000000000..9eff5c42e1 --- /dev/null +++ b/gnu/packages/patches/libgcrypt-arm32-register-pressure.patch @@ -0,0 +1,133 @@ +This patch is from upstream and probably can be dropped with any version +after 1.11.0. + +From 9c93b4607adcf9b3efd53aba43e2d33bf5aef9df Mon Sep 17 00:00:00 2001 +From: Jussi Kivilinna <jussi.kivilinna@iki.fi> +Date: Sun, 4 Aug 2024 18:04:49 +0300 +Subject: [PATCH] mpi/ec-inline: reduce register pressure on 32-bit ARM + +* mpi/ec-inline.h [HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS] (ADD4_LIMB32) +(ADD6_LIMB32, SUB4_LIMB32, SUB6_LIMB32): Reuse input registers +as output (use just two unique operators). +-- + +This fixes building ec-nist.c with GCC-14 on 32-bit ARM. + +GnuPG-bug-id: 7226 +Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> +--- + mpi/ec-inline.h | 63 ++++++++++++++++++++++++------------------------- + 1 file changed, 31 insertions(+), 32 deletions(-) + +diff --git a/mpi/ec-inline.h b/mpi/ec-inline.h +index c24d5352..3a526246 100644 +--- a/mpi/ec-inline.h ++++ b/mpi/ec-inline.h +@@ -836,18 +836,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #ifdef HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS + + #define ADD4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ +- __asm__ ("adds %3, %7, %11\n" \ +- "adcs %2, %6, %10\n" \ +- "adcs %1, %5, %9\n" \ +- "adc %0, %4, %8\n" \ ++ __asm__ ("adds %3, %3, %11\n" \ ++ "adcs %2, %2, %10\n" \ ++ "adcs %1, %1, %9\n" \ ++ "adc %0, %0, %8\n" \ + : "=r" (A3), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(B3)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(B3)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C3)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ +@@ -857,18 +857,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #define ADD6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ + C5, C4, C3, C2, C1, C0) do { \ + mpi_limb_t __carry6_32; \ +- __asm__ ("adds %3, %7, %10\n" \ +- "adcs %2, %6, %9\n" \ +- "adcs %1, %5, %8\n" \ +- "adc %0, %4, %4\n" \ ++ __asm__ ("adds %3, %3, %10\n" \ ++ "adcs %2, %2, %9\n" \ ++ "adcs %1, %1, %8\n" \ ++ "adc %0, %0, %0\n" \ + : "=r" (__carry6_32), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(0)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(0)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ + "Ir" ((mpi_limb_t)(C0)) \ +@@ -878,18 +878,18 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + } while (0) + + #define SUB4_LIMB32(A3, A2, A1, A0, B3, B2, B1, B0, C3, C2, C1, C0) \ +- __asm__ ("subs %3, %7, %11\n" \ +- "sbcs %2, %6, %10\n" \ +- "sbcs %1, %5, %9\n" \ +- "sbc %0, %4, %8\n" \ ++ __asm__ ("subs %3, %3, %11\n" \ ++ "sbcs %2, %2, %10\n" \ ++ "sbcs %1, %1, %9\n" \ ++ "sbc %0, %0, %8\n" \ + : "=r" (A3), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(B3)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "0" ((mpi_limb_t)(B3)), \ ++ "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C3)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ +@@ -899,18 +899,17 @@ LIMB64_HILO(mpi_limb_t hi, mpi_limb_t lo) + #define SUB6_LIMB32(A5, A4, A3, A2, A1, A0, B5, B4, B3, B2, B1, B0, \ + C5, C4, C3, C2, C1, C0) do { \ + mpi_limb_t __borrow6_32; \ +- __asm__ ("subs %3, %7, %10\n" \ +- "sbcs %2, %6, %9\n" \ +- "sbcs %1, %5, %8\n" \ +- "sbc %0, %4, %4\n" \ ++ __asm__ ("subs %3, %3, %9\n" \ ++ "sbcs %2, %2, %8\n" \ ++ "sbcs %1, %1, %7\n" \ ++ "sbc %0, %0, %0\n" \ + : "=r" (__borrow6_32), \ + "=&r" (A2), \ + "=&r" (A1), \ + "=&r" (A0) \ +- : "r" ((mpi_limb_t)(0)), \ +- "r" ((mpi_limb_t)(B2)), \ +- "r" ((mpi_limb_t)(B1)), \ +- "r" ((mpi_limb_t)(B0)), \ ++ : "1" ((mpi_limb_t)(B2)), \ ++ "2" ((mpi_limb_t)(B1)), \ ++ "3" ((mpi_limb_t)(B0)), \ + "Ir" ((mpi_limb_t)(C2)), \ + "Ir" ((mpi_limb_t)(C1)), \ + "Ir" ((mpi_limb_t)(C0)) \ +-- diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 8bf5cb7459..5189299aad 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -185,7 +185,7 @@ it.") (define-public trealla (package (name "trealla") - (version "2.80.10") + (version "2.80.13") (source (origin (method git-fetch) @@ -194,7 +194,7 @@ it.") (url "https://github.com/trealla-prolog/trealla") (commit (string-append "v" version)))) (sha256 - (base32 "1m4qm5ymjb2579kwsz9hzclpvh7im3f2vz5fg7828r2ap1dlfwlr")) + (base32 "1fj1xlg4b1cfwdmmac1cihs2rihjbmd2fg9gnb1qllzhrsyvzkbr")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index 8e189c05dc..b5ad5e7519 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -828,6 +828,30 @@ has features such as: @end itemize") (license license:expat))) +(define-public python-hatch-docstring-description + (package + (name "python-hatch-docstring-description") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hatch_docstring_description" version)) + (sha256 + (base32 "1qwa8m4yswn0bkc5xzq30xsaca578axl5ig2r6mkcdxsfg196pdi")))) + (build-system pyproject-build-system) + (arguments (list #:tests? #f)) ;avoid extra test dependencies + (native-inputs + (list python-hatch-vcs + python-hatchling)) + (propagated-inputs + (list python-hatchling)) + (home-page "https://github.com/flying-sheep/hatch-docstring-description") + (synopsis "Derive PyPI package description from Python package docstring ") + (description + "This package provides a Hatchling plugin to read the description from the +package docstring.") + (license license:gpl3+))) + (define-public python-hatch-fancy-pypi-readme (package (name "python-hatch-fancy-pypi-readme") diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 66320312f7..b98e9dfa09 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -77,6 +77,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -364,6 +365,26 @@ all the files it generates a report.") written in pure Python.") (license license:expat))) +(define-deprecated/public python-case #f + (package + (name "python-case") + (version "1.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "case" version)) + (sha256 + (base32 "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-mock python-nose python-six)) + (native-inputs (list python-setuptools python-wheel)) + (home-page "https://github.com/celery/case") + (synopsis "Unittest utilities and convenience methods") + (description + "The @code{case} package provides utilities on top of unittest, including +some helpful Python 2 compatibility convenience methods.") + (license license:bsd-3))) + (define-public python-codacy-coverage (package (name "python-codacy-coverage") @@ -2495,16 +2516,17 @@ requests to be replied to with user provided responses.") (version "3.1.0") (source (origin - (method url-fetch) - (uri (pypi-uri "pytest_isort" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/stephrdev/pytest-isort") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0v0qa5l22y3v0nfkpvghbinzyj2rh4f54k871lrp992lbvf02y06")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; No tests in PyPi tarball. - (propagated-inputs - (list python-isort python-pytest)) - (home-page "https://github.com/moccu/pytest-isort/") + (base32 "07hj2z2jsshk0m60j0w10q3yzis69714k7qbw2f0cprc5li9b06n")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-isort python-pytest)) + (native-inputs (list python-poetry-core)) + (home-page "https://github.com/stephrdev/pytest-isort") (synopsis "Pytest plugin to check import ordering using isort") (description "This package provides a pytest plugin to check import ordering using @@ -3867,7 +3889,9 @@ data in a standard way.") (uri (pypi-uri "test-utils" version)) (sha256 (base32 "0cs0gyihnkj8ya4yg3ld3ly73mpxrkn2gq9acamclhqvhxsv7zd6")))) - (build-system python-build-system) + (build-system pyproject-build-system) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://github.com/Kami/python-test-utils/") (synopsis "Utilities for functional and integration tests") (description diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 4361c0b65e..66f6828377 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -524,6 +524,10 @@ several possible methods.") (base32 "0lwniinfr3rb10n0c203a09vz06vxnnj637yqn8ipdlml89gj7kr")))) (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--ignore=tests/test_benchmark.py"))) (propagated-inputs (list python-brotli python-brotlicffi @@ -537,15 +541,12 @@ several possible methods.") python-pyzstd python-texttable)) (native-inputs - (list python-coverage - python-setuptools - python-coveralls + (list python-setuptools python-libarchive-c python-py-cpuinfo python-pyannotate python-pytest python-pytest-benchmark - python-pytest-cov python-pytest-remotedata python-pytest-timeout python-setuptools-scm @@ -932,27 +933,16 @@ provided.") '(begin ;; Remove a bundled copy of the zstd sources. (delete-file-recursively "zstd"))))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list + ;; XXX: This is ugly. TODO python-team: + ;; Migrate pyproject to (json) instead of (guix build json). #:configure-flags - #~(list "--dynamic-link-zstd") - #:phases - #~(modify-phases %standard-phases - (replace 'build - ;; The python-build-system's phase doesn't honour configure-flags. - (lambda* (#:key configure-flags #:allow-other-keys) - (apply invoke "python" "./setup.py" "build" - configure-flags))) - (replace 'check - ;; The python-build-system's phase doesn't honour configure-flags. - (lambda* (#:key tests? test-target configure-flags - #:allow-other-keys) - (when tests? - (apply invoke "python" "./setup.py" test-target - configure-flags))))))) + #~`(@ . (("--build-option" . "--dynamic-link-zstd"))))) (inputs (list `(,zstd "lib"))) - (home-page "https://github.com/animalize/pyzstd") + (native-inputs (list python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/Rogdham/pyzstd") (synopsis "Zstandard bindings for Python") (description "This package provides Python bindings to the Zstandard (zstd) compression library. The API is similar to Python's bz2/lzma/zlib module.") diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index b71f693538..f35795f922 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -253,28 +253,36 @@ possibility to differentiate functions that contain matrix functions as (define-public python-anndata (package (name "python-anndata") - (version "0.11.1") + (version "0.12.1") (source (origin ;; The tarball from PyPi doesn't include tests. (method git-fetch) (uri (git-reference - (url "https://github.com/theislab/anndata") - (commit version))) + (url "https://github.com/theislab/anndata") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0skmjjvxk5gdsx6fkplszff92jsb4l45j23c6mhq1vdi3wqhqhcw")))) + (base32 "1pwqy1pxsiqf13kfshcbqah1a92x4044s6jyr94488ngpqkr275z")))) (build-system pyproject-build-system) (arguments (list #:test-flags - #~(list "-k" #$(string-append - ;; This one test seemingly freezes - "not test_read_lazy_h5_cluster" - ;; Fails with a numpy deprecation warning - ;; but not an actual failure - " and not test_read_write_X")) + #~(list "--numprocesses" (number->string (parallel-job-count)) + ;; XXX: AttributeError: module 'pyarrow.lib' has no attribute + ;; 'PyExtensionType + "--ignore=tests/test_awkward.py" + "-k" (string-join + ;; TypeError: read_text() takes from 1 to 2 positional + ;; arguments but 4 were given + (list "not test_read_csv" + ;; TypeError: _fix_co_filename() argument 2 must be + ;; str, not PosixPath + "test_hints" + ;; Failed: DID NOT WARN. No warnings of type (<class + ;; 'FutureWarning'>,) were emitted. + "test_readloom_deprecations") + " and not ")) #:phases #~(modify-phases %standard-phases ;; Doctests require scanpy from (gnu packages bioinformatics) @@ -293,15 +301,14 @@ possibility to differentiate functions that contain matrix functions as (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (propagated-inputs (list python-array-api-compat - python-exceptiongroup ;only for Python <3.11 python-h5py python-importlib-metadata + python-legacy-api-wrap python-natsort - python-numcodecs python-packaging python-pandas - python-scipy python-scikit-learn + python-scipy python-setuptools ; For pkg_resources. python-zarr)) (native-inputs @@ -309,17 +316,14 @@ possibility to differentiate functions that contain matrix functions as python-boltons python-dask python-distributed - python-hatchling python-hatch-vcs + python-hatchling python-joblib python-loompy python-matplotlib python-pytest python-pytest-mock - python-pytest-doctestplus python-pytest-xdist - python-toml - python-flit python-setuptools-scm)) (home-page "https://github.com/theislab/anndata") (synopsis "Annotated data for data analysis pipelines") @@ -1540,6 +1544,32 @@ Features: @end itemize") (license license:bsd-2))) +(define-public python-legendkit + (package + (name "python-legendkit") + (version "0.3.6") + (source + (origin + (method git-fetch) ;no tests in PyPI archive + (uri (git-reference + (url "https://github.com/Marsilea-viz/legendkit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03xdhh95w4zydwa4ahp3gyfa6i60c9s5arfcj366knckb1bnpnn9")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pytest)) + (propagated-inputs + (list python-matplotlib)) + (home-page "https://github.com/Marsilea-viz/legendki") + (synopsis "Legend creation and manipulation for matplotlib") + (description + "This package implements a functionality to create and manipulate plot +legends for @code{matplotlib}.") + (license license:expat))) + (define-public python-libneuroml (package (name "python-libneuroml") @@ -1572,6 +1602,39 @@ Features: neuronal models") (license license:bsd-3))) +(define-public python-marsilea + (package + (name "python-marsilea") + (version "0.5.4") + (source + (origin + (method git-fetch) ;no tests in PyPI archive + (uri (git-reference + (url "https://github.com/Marsilea-viz/marsilea") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09pyfx0gn46ypsp991d3n4a4xx6zlbpss078lw6yywnhl834v2i0")))) + (build-system pyproject-build-system) + (native-inputs + (list python-hatchling + python-pytest)) + (propagated-inputs + (list python-legendkit + python-matplotlib + python-numpy + python-pandas + python-platformdirs + python-scipy + python-seaborn)) + (home-page "https://github.com/Marsilea-viz/marsilea") + (synopsis "Declarative creation of composable visualizations") + (description + "Marsilea is a Python library for creating composable visualizations in a +declarative way. It is built on top of Matplotlib and provides a high-level +API for you to puzzle different visualizations together like logo.") + (license license:expat))) + (define-public python-meshzoo (package (name "python-meshzoo") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index da16c06692..5ef1782dc5 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -976,14 +976,14 @@ adds functionality on top of @code{wadlib}.") (define-public python-launchpadlib (package (name "python-launchpadlib") - (version "1.10.16") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "launchpadlib" version)) (sha256 - (base32 "106aixwchwyb100wlf4cnj1vgsi2d7x40ps8xv8az27r6qwv3x0d")))) - (build-system python-build-system) + (base32 "0br4j76l83lvyrhm8psml9cqmdsn65rx48w1q1a0s1bmpf85ihml")))) + (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'check 'set-home @@ -991,12 +991,10 @@ adds functionality on top of @code{wadlib}.") ;; Tests require a writable home. (setenv "HOME" "/tmp")))))) (propagated-inputs - (list python-httplib2 - python-keyring - python-lazr-restfulclient - python-lazr-uri)) - (native-inputs (list python-mock python-testresources python-wadllib)) - (home-page "https://help.launchpad.net/API/launchpadlib") + (list python-httplib2 python-lazr-restfulclient python-lazr-uri)) + (native-inputs (list python-pytest python-testresources python-wadllib + python-setuptools python-wheel)) + (home-page "https://documentation.ubuntu.com/launchpad") (synopsis "Python client library for Launchpad's web service") (description "@code{launchpadlib} is a Python library that allows scripting Launchpad via its the web service API.") @@ -1624,17 +1622,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 @@ -1855,28 +1866,38 @@ routes using HTTP Digest Authentication.") (license license:bsd-2))) (define-public python-css-html-js-minify - (package - (name "python-css-html-js-minify") - (version "2.5.5") - (source (origin - (method url-fetch) - (uri (pypi-uri "css-html-js-minify" version ".zip")) - (sha256 - (base32 - "0v3l2dqdk2y4r6ax259gs4ij1zzm9yxg6491s6254vs9w3vi37sa")))) - (build-system python-build-system) - ;; XXX: The git repository has no tags, and the PyPI releases do not - ;; contain tests. - (arguments '(#:tests? #f)) - (native-inputs (list unzip)) - (home-page "https://github.com/juancarlospaco/css-html-js-minify") - (synopsis "CSS/HTML/JS minifier") - (description - "This package provides a single-file minifier for CSS, HTML, and JavaScript.") - ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From - ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it - ;; looks like the user can choose a license. - (license (list license:gpl3+ license:lgpl3+ license:expat)))) + (let ((commit "8f72452960e41bc5476e50d96481f633eff72750") + (revision "0")) + (package + (name "python-css-html-js-minify") + (version (git-version "2.5.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/juancarlospaco/css-html-js-minify") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lkx03720zk6q16w3d9r3l5kryikd1cmzwrcjzsjxwrq4zfh6vdf")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.cfg" + (("^tests_require.*") ""))))))) + (native-inputs (list python-setuptools python-wheel unzip)) + (home-page "https://github.com/juancarlospaco/css-html-js-minify") + (synopsis "CSS/HTML/JS minifier") + (description + "This package provides a single-file minifier for CSS, HTML, and JavaScript.") + ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From + ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it + ;; looks like the user can choose a license. + (license (list license:gpl3+ license:lgpl3+ license:expat))))) (define-public python-aws-sam-translator (package diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e7b3b98c96..91c098e681 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1010,6 +1010,36 @@ new type and helper functions to integrate it nicely with the Python stdlib.") (license license:expat))) +(define-public python-session-info2 + (package + (name "python-session-info2") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "session_info2" version)) + (sha256 + (base32 "0xs1mcdz0hf626m3421ryv4f7b5rixz2hm8x88czx2i9196x69g9")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--deselect=tests/test_synthetic.py::test_gpu" + ;; Tests require Jupyter Client. + "--ignore=tests/test_subprocess.py"))) + (native-inputs + (list python-hatch-docstring-description + python-hatch-vcs + python-hatchling + python-pytest + python-pytest-asyncio)) + (home-page "https://session-info2.readthedocs.io/") + (synopsis "Print versions of imported packages") + (description + "This package implements a functionality to print versions of imported +Python packages.") + (license license:mpl2.0))) + (define-public python-shxparser (package (name "python-shxparser") @@ -5348,29 +5378,6 @@ for additional processing.") "Fastprogress is a progress bar for Jupyter Notebook and console.") (license license:asl2.0))) -(define-public python-case - (package - (name "python-case") - (version "1.5.3") - (source - (origin - (method url-fetch) - (uri (pypi-uri "case" version)) - (sha256 - (base32 - "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) - (build-system python-build-system) - (propagated-inputs - (list python-mock python-nose python-six)) - (native-inputs - (list python-coverage)) - (home-page "https://github.com/celery/case") - (synopsis "Unittest utilities and convenience methods") - (description - "The @code{case} package provides utilities on top of unittest, including -some helpful Python 2 compatibility convenience methods.") - (license license:bsd-3))) - (define-public python-verboselogs (package (name "python-verboselogs") @@ -8592,13 +8599,13 @@ via commands such as @command{rst2man}, as well as supporting Python code.") (define-public python-docx (package (name "python-docx") - (version "1.1.2") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "python_docx" version)) (sha256 (base32 - "1z9ffsvksaaxr90ijzq4k3adzb6p5ipy2j3rrbfjl05rjlpg5w8c")))) + "1ki0cbw3hbiz51ww3fi3vi770lk5r0c62889r819r756v2vxgjbv")))) (build-system pyproject-build-system) (native-inputs (list behave @@ -11230,17 +11237,11 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the (file-name (git-file-name name version)) (sha256 (base32 "0x7nkphr6g5ql5fvgss8l56rgiyjgh6fm8zzs73i94ci9wzlm63w")))) - (build-system python-build-system) + (build-system pyproject-build-system) (propagated-inputs (list python-numpy)) (native-inputs - (list python-nose)) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "nosetests" "--all-modules" "-v" "colorspacious")))))) + (list python-nose python-setuptools python-wheel)) (home-page "https://github.com/njsmith/colorspacious") (synopsis "Python library for colorspace conversions") (description "@code{colorspacious} is a Python library that lets you @@ -11486,16 +11487,20 @@ toolkits.") #:tests? #f ;we're only generating documentation #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'avoid-external-deps + (lambda _ + ;; XXX: Avoid theme-switcher to avoid sphinx error + ;; TemplateNotFound('theme-switcher.html') + ;; XXX: Avoid version-switcher because it depends on an + ;; external file, and we pack only one version anyway. + (substitute* "doc/conf.py" + (("\ +\"navbar_end\": \\[\"theme-switcher\", \"version-switcher\", ") + "\"navbar_end\": [")))) (replace 'build (lambda _ (setenv "HOME" "/tmp") (chdir "doc") - (substitute* "conf.py" - ;; The sphinx_panels extension causes a "TypeError: first - ;; argument must be callable" to be raised when generating the - ;; info target; remove it (see: - ;; https://github.com/executablebooks/sphinx-panels/issues/74). - ((".*'sphinx_panels',.*") "")) (invoke "make" "html" "info" ;; Don't abort on warnings; build in parallel. (format #f "SPHINXOPTS=-j~a" (parallel-job-count))))) @@ -11518,25 +11523,30 @@ toolkits.") inkscape/pinned python-colorspacious python-ipython + python-ipykernel python-ipywidgets python-mpl-sphinx-theme python-numpydoc python-scipy python-sphinx python-sphinx-copybutton + python-sphinx-design python-sphinx-gallery python-sphinxcontrib-svg2pdfconverter texinfo - texlive-amsfonts - texlive-amsmath - texlive-babel - texlive-etoolbox - texlive-expdlist - texlive-fontspec - texlive-times - texlive-type1cm - texlive-underscore - texlive-unicode-math)) + texlive-dvipng-bin + (texlive-local-tree + (list texlive-amsfonts + texlive-amsmath + texlive-babel + texlive-cm-super + texlive-etoolbox + texlive-expdlist + texlive-fontspec + texlive-times + texlive-type1cm + texlive-underscore + texlive-unicode-math)))) (synopsis "Documentation for the @code{python-matplotlib} package"))) (define-public python-matplotlib-inline @@ -15724,31 +15734,29 @@ SVG, EPS, PNG and terminal output.") (define-public python-seaborn (package (name "python-seaborn") - (version "0.13.1") + (version "0.13.2") (source (origin (method url-fetch) (uri (pypi-uri "seaborn" version)) (sha256 (base32 - "0ycibcs6kvd3xi4zsxna81claqifyb9dn6z6jwc5x7lqqplnbbdz")))) + "1xzzxrbxsmmk39647vcx7avzdbzxw9vz8pc8yklnakcgk100mrlk")))) (build-system pyproject-build-system) + (arguments + (list + ;; 2358 passed, 16 skipped, 6 xfailed, 17 warnings + #:test-flags + #~(list "--numprocesses" (number->string (parallel-job-count)) ))) + (native-inputs + (list python-flit-core + python-pytest + python-pytest-xdist)) (propagated-inputs (list python-matplotlib python-numpy python-pandas python-scipy python-statsmodels)) - (native-inputs - (list python-flake8 - python-flit-core - python-ipykernel - python-nbconvert - python-numpydoc - python-mypy - python-pytest - python-pytest-cov - python-pytest-xdist - python-pyyaml)) (home-page "https://seaborn.pydata.org/") (synopsis "Statistical data visualization") (description @@ -21492,7 +21500,6 @@ applications.") #~(list "--ignore" "t/unit/transport/test_azurestoragequeues.py"))) (native-inputs (list python-botocore - python-case python-pyro4 python-pytest python-pytest-sugar @@ -21530,8 +21537,7 @@ RabbitMQ messaging server is the most popular implementation.") '("billiard/popen_spawn_win32.py" "billiard/_win.py"))))))) (native-inputs - (list python-case python-psutil python-pytest python-setuptools - python-wheel)) + (list python-psutil python-pytest python-setuptools python-wheel)) (home-page "https://github.com/celery/billiard") (synopsis "Python multiprocessing fork with improvements and bugfixes") (description @@ -21569,8 +21575,7 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.") (("tzdata.*") "tzdata\n"))))))) (native-inputs - (list python-case - python-dnspython + (list python-dnspython python-flaky python-google-cloud-storage python-iniconfig @@ -30184,14 +30189,14 @@ codecs for use in data storage and communication applications.") (define-public python-zarr (package (name "python-zarr") - (version "2.18.4") + (version "2.18.7") (source (origin (method url-fetch) (uri (pypi-uri "zarr" version)) (sha256 (base32 - "1fr41j8mxhbj7psn00416qs3nm12djhhmybgpqdax0q6vpg0wy9p")))) + "1xbjjpjskykbdskck5p1f0grh6wq36437ll0n5kazi6s2ipzdf5j")))) (build-system pyproject-build-system) (arguments (list @@ -30228,11 +30233,6 @@ codecs for use in data storage and communication applications.") (native-inputs (list python-pytest python-pytest-xdist - python-pytest-doctestplus - python-sphinx - python-sphinx-copybutton - python-sphinx-design - python-sphinx-issues python-setuptools python-wheel)) (home-page "https://github.com/zarr-developers/zarr-python") @@ -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/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 649bb33cf4..1211a5f3e7 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -672,18 +672,32 @@ grid layout. It is no longer maintained and users are encouraged to use (package (name "python-sphinxcontrib-programoutput") (version "0.17") - (source (origin - (method url-fetch) - (uri (pypi-uri "sphinxcontrib-programoutput" version)) - (sha256 - (base32 - "0zrb2ny6y7nk84qmw5mds84fc4pxgqf4sjy7bk95b0zfrawfj3ih")))) - (build-system python-build-system) - (propagated-inputs (list python-sphinx)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenNTI/sphinxcontrib-programoutput") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02hpx6jnsx0cb1d1kk56gpj69x51m2d0prwwhsyhpwv257s64kz3")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively + (string-append (site-packages inputs outputs) + "/sphinxcontrib/programoutput/tests")) + (delete-file "src/sphinxcontrib/programoutput/__init__.py")))))) + (propagated-inputs (list python-sphinx)) + (native-inputs (list python-pytest python-setuptools python-wheel)) + (home-page "https://github.com/OpenNTI/sphinxcontrib-programoutput") (synopsis "Sphinx extension to include program output") (description "A Sphinx extension to literally insert the output of arbitrary commands into documents, helping you to keep your command examples up to date.") - (home-page "https://github.com/NextThought/sphinxcontrib-programoutput") (license license:bsd-2))) (define-public python-sphinxcontrib-qthelp @@ -1278,13 +1292,17 @@ Syntax Tree} at different stages: before transforms, after transforms, etc.") (name "python-nbsphinx") (version "0.8.8") (source - (origin - (method url-fetch) - (uri (pypi-uri "nbsphinx" version)) - (sha256 - (base32 - "1v1lzkfx2lslhslqb110zxmm4dmdg6hs2rahf713c2rk9f10q2dm")))) - (build-system python-build-system) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spatialaudio/nbsphinx") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s98kab9jddy4jskllqcmwr222i85a25asi78f8nf0cpqbsvy1k6")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f)) ; No tests upstream. (propagated-inputs (list python-docutils python-jinja2 @@ -1292,6 +1310,8 @@ Syntax Tree} at different stages: before transforms, after transforms, etc.") python-nbformat python-sphinx python-traitlets)) + (native-inputs + (list python-setuptools python-wheel)) (home-page "https://nbsphinx.readthedocs.io/") (synopsis "Jupyter Notebook Tools for Sphinx") (description "@code{python-nbsphinx} is a Sphinx extension that diff --git a/gnu/packages/spreadsheet.scm b/gnu/packages/spreadsheet.scm index 8c6e543a50..2de8139342 100644 --- a/gnu/packages/spreadsheet.scm +++ b/gnu/packages/spreadsheet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> -;;; Copyright © 2021, 2023-2024 jgart <jgart@dismail.de> +;;; Copyright © 2021, 2023-2025 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +26,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix licenses) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -36,6 +37,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages time) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics) @@ -99,15 +101,20 @@ (define-public visidata (package (name "visidata") - (version "3.1.1") + (version "3.2") (source + ;; PyPI tarball is missing the requirements.txt file. (origin - (method url-fetch) - (uri (pypi-uri "visidata" version)) + (method git-fetch) + (uri + (git-reference + (url "https://github.com/saulpw/visidata") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0cdhx0n79n9z5d22nr90kkg93ndxcnyl4margs4f8l88iwaq8i4c")))) - (build-system python-build-system) + "1rpds8x7hdwh48v2dja1qq5bamnd63rb8p416nnn8d2n58xkvs4h")))) + (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -124,7 +131,9 @@ python-openpyxl python-xlrd)) (native-inputs - (list python-pytest)) + (list python-pytest + python-setuptools + python-wheel)) (synopsis "Terminal spreadsheet multitool for discovering and arranging data") (description "VisiData is an interactive multitool for tabular data. It combines the diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index bcbd0f30f7..e685cdf4a5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -468,6 +468,63 @@ publication-quality data plots. A large amount of 3rd-party packages are available, greatly increasing its breadth and scope.") (license license:gpl3+))) +(define-public python-dcor + (package + (name "python-dcor") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dcor" version)) + (sha256 + (base32 "0cc4an2p3ifm62d50w5h83myyhck6vcnrgp691rpid0x21v9glzm")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-k" (string-join + ;; TODO: Report upstream, failing with NumPy deprecation + ;; warning and errors: + ;; AttributeError: 'numpy.ndarray' object has no attribute '_array'. + ;; AttributeError: module 'numpy' has no attribute 'bool'. + (list "not test_u_v_statistics" + "test_same_distribution_different_means" + "test_same_distribution_same_parameters" + "test_independent_variables" + "test_same_variable") + " and not ") + "dcor/tests"))) + (native-inputs + (list python-pytest + python-setuptools-next)) + (propagated-inputs + (list python-joblib + python-numba + python-numpy + python-scipy)) + (home-page "https://dcor.readthedocs.io/") + (synopsis "Distance correlation and related E-statistics in Python") + (description + "@code{dcor} is distance correlation and energy statistics in Python. + +E-statistics are functions of distances between statistical observations in +metric spaces. Distance covariance and distance correlation are dependency +measures between random vectors introduced in +@url{https://github.com/vnmabus/dcor#srb07,[SRB07]} with a simple E-statistic +estimator. + +This package offers functions for calculating several E-statistics such as: + +@itemize +@item estimator of the energy distance +@url{https://github.com/vnmabus/dcor#sr13,[SR13]} +@item biased and unbiased estimators of distance covariance and distance +correlation @url{https://github.com/vnmabus/dcor#srb07,[SRB07]} +@item estimators of the partial distance covariance and partial distance +covariance @url{https://github.com/vnmabus/dcor#sr14,[SR14]} +@end itemize") + (license license:expat))) + (define-public python-dynesty (package (name "python-dynesty") @@ -1272,13 +1329,13 @@ sampler for Markov chain Monte Carlo (MCMC).") (define-public python-statsmodels (package (name "python-statsmodels") - (version "0.14.2") + (version "0.14.4") (source (origin (method url-fetch) (uri (pypi-uri "statsmodels" version)) (sha256 - (base32 "1bfnxkzdcz5fj7hh1gc021hc3b9181f1mfph4kd1ra6kg8a501c9")) + (base32 "0rwbi57ckg7hgrmdf0g1paqcvp5n6f06xfzrcz075p30j3ry0sax")) (modules '((guix build utils))) (snippet '(for-each delete-file (find-files "." "\\.c$"))))) @@ -1302,21 +1359,16 @@ sampler for Markov chain Monte Carlo (MCMC).") (string-append "import matplotlib;matplotlib.use('Agg');" line)))))))) (propagated-inputs - (list python-numpy python-packaging python-pandas python-patsy + (list python-numpy + python-packaging + python-pandas + python-patsy python-scipy)) (native-inputs - (list python-colorama - python-cython - python-flake8 - python-isort - python-joblib + (list python-cython-3 python-matplotlib - python-pytest - python-pytest-randomly - python-pytest-xdist - python-setuptools-scm - python-setuptools - python-wheel)) + python-setuptools-next + python-setuptools-scm)) (home-page (string-append "https://www.statsmodels.org/v" version "/")) (synopsis "Statistical modeling and econometrics in Python") @@ -2966,7 +3018,7 @@ functions.") (define-public python-rchitect (package (name "python-rchitect") - (version "0.4.7") + (version "0.4.8") (source (origin (method git-fetch) @@ -2975,7 +3027,7 @@ functions.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ijbb0v77ir7j64r4r4kznv03wyc57rcqa9jnsc46476il79dcrk")))) + (base32 "0r41ad8mk7bmqsw96sizahzvz1z6cp4rpll166y0yhwdrv86nmj7")))) (build-system pyproject-build-system) (propagated-inputs (list python-cffi python-packaging python-six)) (native-inputs (list python-pytest @@ -2996,7 +3048,7 @@ main use is as the driver for radian, the R console.") (define-public python-radian (package (name "python-radian") - (version "0.6.13") + (version "0.6.15") (source (origin (method git-fetch) @@ -3005,7 +3057,7 @@ main use is as the driver for radian, the R console.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nnwgvifhsxdac7rr9d2zspc97xx0vyzxn1v9g4bnm9061rragc3")))) + (base32 "089ys59cnw5l5k0656arhn805j8pkw21q4qf7gq9p9hifi1lpnpm")))) (build-system pyproject-build-system) (arguments (list diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 4d14c334ae..e34c33b989 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1071,28 +1071,19 @@ usable with any list--including files, command history, processes and more.") (define-public python-pyte (package (name "python-pyte") - (version "0.8.1") + (version "0.8.2") (source (origin - (method url-fetch) - (uri (pypi-uri "pyte" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/selectel/pyte") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1c4pn2qijk6q8q25klfq365gbvlkrh8c0lz5lrr7b7kmh6vx3gxr")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-failing-test - ;; TODO: Reenable when the `captured` files required by this test - ;; are included in the archive. - (lambda _ - (delete-file "tests/test_input_output.py") - #t))))) - (propagated-inputs - (list python-wcwidth)) - (native-inputs - (list python-pytest-runner python-pytest)) + (base32 "1cdhnl6rp4kcbs3s766519k80pf5ma18mgv6cyidf4nbgysjavmv")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-wcwidth)) + (native-inputs (list python-pytest python-setuptools python-wheel)) (home-page "https://pyte.readthedocs.io/") (synopsis "Simple VTXXX-compatible terminal emulator") (description "@code{pyte} is an in-memory VTxxx-compatible terminal @@ -1136,13 +1127,13 @@ than a terminal.") (define-public python-curtsies (package (name "python-curtsies") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "curtsies" version)) (sha256 - (base32 "03kn093lr84qg8fmqrn1jb0zak6a1ir9q106lm8jijfpbchk7gkf")))) + (base32 "09c8c4vssm2zkq017xj99vhcrisfva4nkz92w8dly4jjz7xhyahh")))) (build-system pyproject-build-system) (native-inputs (list python-pyte diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 63b8372c82..2fe41d1358 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -164,18 +164,33 @@ applications, and several support tools.") (version "1.1.8") (source (origin - (method url-fetch) - (uri (pypi-uri "pytimeparse" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wroberts/pytimeparse") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "02kaambsgpjx3zi42j6l11rwms2p35b9hsk4f3kdf979gd3kcqg8")))) + (base32 "1r5ybq2brdinqlvvdmfv2lz4g1hwz2zd6k21qwzzw17jfxdv2m6g")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'cleanup + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively + (string-append (site-packages inputs outputs) + "/pytimeparse/tests")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "unittest"))))))) (native-inputs - (list python-nose)) - (build-system python-build-system) + (list python-setuptools python-wheel)) (home-page "https://github.com/wroberts/pytimeparse") (synopsis "Time expression parser") - (description "This small Python module parses various kinds of time -expressions.") + (description + "This small Python module parses various kinds of time expressions.") (license expat))) (define-public python-pytzdata diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8c1f887a29..8a0d2daf5a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -9859,43 +9859,6 @@ provided by a TLS reverse proxy (e.g. tlstunnel, hitch or stunnel).") the Fediring.") (license (list license:cc0 license:bsd-2))))) -(define-public archivebox - (package - (name "archivebox") - (version "0.6.2") - (source (origin - (method url-fetch) - (uri (pypi-uri name version)) - (sha256 - (base32 - "1mnq82ynq01l7vx957bbx4bvgwdh59qsnx6pdydaqszbakp74yyc")))) - (build-system python-build-system) - (propagated-inputs - (list curl - node-lts)) - (inputs - (list python - youtube-dl - wget - git - python-w3lib - python-ipython - python-croniter - python-crontab - python-dateparser - python-django-extensions - python-django-3.1.14 - python-mypy-extensions)) - (native-inputs - (list python-wheel)) - (synopsis "Self-hosted Web archiving") - (description "ArchiveBox is a powerful, self-hosted Web archiving -solution to collect, save, and view sites you want to preserve offline. -You can feed it URLs one at a time, or schedule regular imports. It saves -snapshots of the URLs you feed it in several formats.") - (home-page "https://archivebox.io/") - (license license:expat))) - (define-public awslogs (package (name "awslogs") diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 80adb463ec..dc2f0b0db1 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1929,43 +1929,6 @@ limited size and a few external dependencies. It is configurable via ;; LICENSE LICENSE.dwm LICENSE.tinywl (license (list license:gpl3+ license:expat license:cc0)))) -(define-public nitrogen - (package - (name "nitrogen") - (version "1.6.1") - (source (origin - (method url-fetch) - (uri (string-append "http://github.com/l3ib/nitrogen/" - "releases/download/" version "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "0zc3fl1mbhq0iyndy4ysmy8vv5c7xwf54rbgamzfhfvsgdq160pl")))) - (build-system gnu-build-system) - (inputs - (list gtk+-2 gtkmm-2 glib glibmm)) - (native-inputs - (list pkg-config)) - (home-page "http://projects.l3ib.org/nitrogen/") - (synopsis "Background browser and setter for X windows") - (description - "This package is a background browser and setter for X windows. It's -features are: - -@itemize -@item Multihead and Xinerama aware -@item Recall mode to used via startup script -@item Uses freedesktop.org standard for thumbnails -@item Can set GNOME background -@item Command lie set modes for script use -@item Inotify monitoring of browse directory -@item Lazy loading of thumbnails - conserves memory -@item \"Automatic\" set mode - determines best mode to set an image based on -its size -@item Display preview images in a tiled icon layout -@end itemize") - (license license:gpl2+))) - (define-public polybar (package (name "polybar") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 3d7b270bca..1af8930ce1 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2021, 2023, 2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Petter <petter@mykolab.ch> @@ -906,26 +906,22 @@ typing tool (@code{wtype}, @code{xdotool}, etc.), or via standard output.") (source (origin (method url-fetch) - (uri - (string-append - "https://www.cairographics.org/releases/pixman-" - version ".tar.gz")) + (uri (string-append "https://www.cairographics.org/releases/pixman-" + version ".tar.gz")) (sha256 (base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) - (patches - (search-patches - "pixman-CVE-2016-5296.patch")))) + (patches (search-patches "pixman-CVE-2016-5296.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list - "--disable-static" - "--enable-timers" - "--enable-gnuplot"))) - (native-inputs - (list pkg-config)) - (inputs - (list libpng zlib)) + (list "--disable-static" + "--enable-timers" + "--enable-gnuplot" + ,@(if (target-arm32?) + `("--disable-arm-simd") + '())))) + (native-inputs (list pkg-config)) + (inputs (list libpng zlib)) (synopsis "Low-level pixel manipulation library") (description "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid |