diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/astronomy.scm | 29 | ||||
-rw-r--r-- | gnu/packages/bioconductor.scm | 30 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 57 | ||||
-rw-r--r-- | gnu/packages/certs.scm | 4 | ||||
-rw-r--r-- | gnu/packages/cran.scm | 99 | ||||
-rw-r--r-- | gnu/packages/datastructures.scm | 4 | ||||
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 67 | ||||
-rw-r--r-- | gnu/packages/games.scm | 4 | ||||
-rw-r--r-- | gnu/packages/gcc.scm | 49 | ||||
-rw-r--r-- | gnu/packages/geo.scm | 127 | ||||
-rw-r--r-- | gnu/packages/gimp.scm | 6 | ||||
-rw-r--r-- | gnu/packages/gl.scm | 91 | ||||
-rw-r--r-- | gnu/packages/guile-xyz.scm | 10 | ||||
-rw-r--r-- | gnu/packages/nss.scm | 5 | ||||
-rw-r--r-- | gnu/packages/patches/mesa-fix-sporadic-test-failures.patch | 27 | ||||
-rw-r--r-- | gnu/packages/python-check.scm | 116 | ||||
-rw-r--r-- | gnu/packages/python-science.scm | 13 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 44 | ||||
-rw-r--r-- | gnu/packages/terminals.scm | 14 | ||||
-rw-r--r-- | gnu/packages/time.scm | 37 | ||||
-rw-r--r-- | gnu/packages/video.scm | 14 |
22 files changed, 640 insertions, 208 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index dfb8930771..77abf61d3c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1558,7 +1558,6 @@ dist_patch_DATA = \ %D%/packages/patches/mercurial-hg-extension-path.patch \ %D%/packages/patches/mercurial-openssl-compat.patch \ %D%/packages/patches/mesa-opencl-all-targets.patch \ - %D%/packages/patches/mesa-fix-sporadic-test-failures.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mia-fix-boost-headers.patch \ %D%/packages/patches/mia-vtk9.patch \ diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 6133b19e6b..9bc790ef4b 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) + #:use-module (gnu packages geo) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -1131,13 +1132,13 @@ accurately in real time at any rate desired.") (define-public python-astropy (package (name "python-astropy") - (version "5.2.1") + (version "5.2.2") (source (origin (method url-fetch) (uri (pypi-uri "astropy" version)) (sha256 - (base32 "08xc6brs7xwiqchhsjq8l10p6qc5p68cfxps7s889spqfyh2gbpn")) + (base32 "170ddflli35mvhf6pla7aizfw8a7ckq66g1mi1br99dx2r3y7ag6")) (modules '((guix build utils))) (snippet '(begin @@ -1187,21 +1188,33 @@ accurately in real time at any rate desired.") (invoke "python" "setup.py" "build_ext" "--inplace") (invoke "python" "-m" "pytest" "--pyargs" "astropy" ;; Skip tests that need remote data. - "-m" "not remote_data"))))))) + "-k" (string-append + "not remote_data" + ;; XXX: Check why this tests failing. + " and not test_ignore_sigint" + " and not test_parquet_filter")))))))) (native-inputs (list pkg-config + python-colorlog python-coverage python-cython python-extension-helpers + python-h5py python-ipython python-jplephem python-objgraph + python-pandas + python-pyarrow python-pytest python-pytest-astropy + python-pytest-astropy-header python-pytest-xdist + python-scikit-image + python-scipy python-setuptools-scm python-sgp4 - python-skyfield)) + python-skyfield + python-timezonefinder)) (inputs (list cfitsio expat wcslib)) (propagated-inputs @@ -2549,13 +2562,13 @@ Moon position, etc.") (define-public python-jplephem (package (name "python-jplephem") - (version "2.17") + (version "2.18") (source (origin (method url-fetch) (uri (pypi-uri "jplephem" version)) (sha256 - (base32 "09xaibxnwbzzs3x9g3ibqa2la17z3r6in93321glh02dbibfbip1")))) + (base32 "1rgswy52ismij0bkmfqwbml5zikzvzzs1f833dwk0y64lkl12aa9")))) (build-system python-build-system) (arguments `(#:phases @@ -3095,13 +3108,13 @@ astronomical images, especially when there is no WCS information available.") (define-public python-skyfield (package (name "python-skyfield") - (version "1.39") + (version "1.46") (source (origin (method url-fetch) (uri (pypi-uri "skyfield" version)) (sha256 - (base32 "1qh3k7g9dm6idppk87hnwxpx9a22xx98vav0zk31p6291drak3as")))) + (base32 "1r4kpsh1pa4h3diyxy3gyapp0rykfjdqmn5w348a2ck2qkdlx997")))) (build-system python-build-system) (arguments ;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 768b55b25e..72bf40cc41 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -10101,6 +10101,36 @@ processing to visualization and annotation.") large datasets, including support for on-disk data representation.") (license license:expat))) +(define-public r-multibac + (package + (name "r-multibac") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "MultiBaC" version)) + (sha256 + (base32 "1qwf1mvw81hb929xpnx5x910f7qnax9lkylhwzcdw1814s4zj25i")))) + (properties `((upstream-name . "MultiBaC"))) + (build-system r-build-system) + (propagated-inputs + (list r-ggplot2 + r-matrix + r-multiassayexperiment + r-pcamethods + r-plotrix + r-ropls)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/MultiBaC") + (synopsis "Multiomic batch effect correction") + (description + "MultiBaC is a strategy to correct batch effects from multiomic datasets +distributed across different labs or data acquisition events. MultiBaC is +able to remove batch effects across different omics generated within separate +batches provided that at least one common omic data type is included in all +the batches considered.") + (license license:gpl3))) + (define-public r-multtest (package (name "r-multtest") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e48b340a3a..afca5ab93b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5169,6 +5169,63 @@ indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).") ;; GPLv3 or later. (license license:gpl3+))) +(define-public homer + (package + (name "homer") + (version "4.11.1") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "http://homer.ucsd.edu/homer/data/software/homer.v" + version ".zip")) + (sha256 + (base32 + "0ay802swzq6ix9d8fkinpplcvyc1xyi3cjmj2x08jab7c40cvlc0")))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (let ((share (string-append #$output "/share/homer"))) + (mkdir-p share) + (substitute* "configureHomer.pl" + (("my \\$homeDir = \\$1;") + (string-append "my $homeDir = \"" share "\";")))))) + (replace 'build + (lambda _ + (let ((share (string-append #$output "/share/homer"))) + (copy-recursively "." share)) + (invoke "perl" "configureHomer.pl" "-local"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke (string-append #$output "/share/homer/bin/homer2"))))) + (replace 'install + (lambda _ + (mkdir-p (string-append #$output "/bin")) + (symlink (string-append #$output "/share/homer/bin/homer2") + (string-append #$output "/bin/homer2")) + (for-each patch-shebang + (find-files (string-append #$output "/share/homer/bin") + "\\.pl$"))))))) + (inputs + (list perl)) + (native-inputs + (list perl unzip)) + (home-page "http://homer.ucsd.edu/homer") + (synopsis "Motif discovery and next generation sequencing analysis") + (description + "HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of +tools for Motif Discovery and next-gen sequencing analysis. It is a +collection of command line programs written in Perl and C++. HOMER was +primarily written as a de novo motif discovery algorithm and is well suited +for finding 8-20 bp motifs in large scale genomics data. HOMER contains many +useful tools for analyzing ChIP-Seq, GRO-Seq, RNA-Seq, DNase-Seq, Hi-C and +numerous other types of functional genomics sequencing data sets.") + (license license:gpl3+))) + (define-public hmmer (package (name "hmmer") diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 122882980b..58b4d50ec8 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -131,7 +131,7 @@ that was originally contributed to Debian.") ;; XXX We used to refer to the nss package here, but that eventually caused ;; module cycles. The below is a quick copy-paste job that must be kept in ;; sync manually. Surely there's a better way…? - (version "3.85") + (version "3.88.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -142,7 +142,7 @@ that was originally contributed to Debian.") "nss-" version ".tar.gz"))) (sha256 (base32 - "15yj2gddlp68wj1k9q4q70vs6r7zx5qkbavcppmls5di212xdndg")) + "15il9fsmixa1r4446zq1wl627sg0hz9h67w6kjxz273xz3nl7li7")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-3.56-pkgconfig.patch" "nss-getcwd-nonnull.patch" diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3c7236581b..e5a6c806b4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -34316,6 +34316,37 @@ access methods and R-native hooks to ensure the Seurat object is familiar to other R users.") (license license:gpl3))) +;; This is for r-seurat5 +(define-public r-seurat5object + (let ((commit "185884ae527d6ce71cb51d2e84a630030e8439a3") + (revision "1")) + (package + (inherit r-seuratobject) + (name "r-seurat5object") + (version (git-version "4.9.9.9084" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mojaveazure/seurat-object") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1nbai31gjsgiaazb4jhpqw8h04nm8xd131fng7zcw11kspj54n9z")) + ;; This file triggers renv, which we don't want to use. + (snippet '(delete-file ".Rprofile")))) + (propagated-inputs (list r-future + r-future-apply + r-generics + r-lifecycle + r-matrix + r-progressr + r-rcpp + r-rcppeigen + r-rlang + r-sp + r-spam))))) + (define-public r-seurat (package (name "r-seurat") @@ -34384,6 +34415,74 @@ algorithms; density clustering, hierarchical clustering, k-means, and the discovery of differentially expressed genes and markers.") (license license:gpl3))) +;; Seurat5 is only available via the seurat5 branch. It will replace r-seurat +;; eventually once it has been released to CRAN. +(define-public r-seurat5 + (let ((commit "9d59c02042b9ae4f182fbde84cc8b18c0873ef4d") + (revision "1")) + (package + (inherit r-seurat) + (name "r-seurat5") + (version (git-version "4.9.9.9044" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/satijalab/seurat") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y4wl6aanq9scn2clazlxsar35g64v4sfy561j43fq1i85na7m4i")))) + (propagated-inputs (list r-cluster + r-cowplot + r-fastdummies + r-fitdistrplus + r-future + r-future-apply + r-generics + r-ggplot2 + r-ggrepel + r-ggridges + r-httr + r-ica + r-igraph + r-irlba + r-jsonlite + r-kernsmooth + r-leiden + r-lifecycle + r-lmtest + r-mass + r-matrix + r-matrixstats + r-miniui + r-patchwork + r-pbapply + r-plotly + r-png + r-progressr + r-rann + r-rcolorbrewer + r-rcpp + r-rcppannoy + r-rcppeigen + r-rcpphnsw + r-rcppprogress + r-reticulate + r-rlang + r-rocr + r-rspectra + r-rtsne + r-scales + r-scattermore + r-sctransform + r-seurat5object + r-shiny + r-spatstat-explore + r-spatstat-geom + r-tibble + r-uwot))))) + (define-public r-seuratdisk (let ((commit "163f1aade5bac38ed1e9e9c912283a7e74781610") (revision "1")) diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index bd6044e1d0..e9c9df1bf1 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -359,7 +359,7 @@ equivalent succinct data structure are (most of the time) identical.") (define-public tllist (package (name "tllist") - (version "1.0.5") + (version "1.1.0") (home-page "https://codeberg.org/dnkl/tllist") (source (origin (method git-fetch) @@ -367,7 +367,7 @@ equivalent succinct data structure are (most of the time) identical.") (file-name (git-file-name name version)) (sha256 (base32 - "061mkg6hc9x89zya3bw18ymxlzd8fbhjipxpva8x01lh2vp1d4f0")))) + "03296h1w0rnsj87490cgy007axngyg1v8w3z5nvm6x5gcs6b8rg1")))) (build-system meson-build-system) (synopsis "Typed link list for C") (description diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 050e6377a3..4ddd9a36dd 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -128,6 +128,7 @@ ;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch> +;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3359,6 +3360,69 @@ defined in RFC 2425 and RFC 2426 to/from The Insidious Big Brother Database (BBDB). Version 2.1 vCards are converted into version 3.0 on import.") (license license:gpl2+)))) +(define-public emacs-eweouz + (package + (name "emacs-eweouz") + (version "0.12") + (source + (origin + (method url-fetch) + ;; README's git://git.err.no/eweouz is gone + (uri (string-append "mirror://debian/pool/main/e/eweouz/" + "eweouz_" version ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) + (sha256 + (base32 + "192zl3dyphhvcrvn65bqsrc4h6zks8b747lp6pqbpbmsqy4g4mr8")))) + (build-system gnu-build-system) + (arguments + (list + #:modules '((guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules `(,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:configure-flags + #~(list (string-append "--with-lispdir=" + (emacs:elpa-directory #$output))) + #:phases + #~(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vif"))) + (add-after 'compress-documentation 'enter-lisp-dir + (lambda _ (chdir "lisp/"))) + (add-after 'enter-lisp-dir 'emacs-patch-variables + (lambda _ + (emacs-substitute-sexps "eweouz.el" + ("eweouz-helper-dirs" + `(list ,(string-append #$output "/libexec/eweouz")))))) + (add-after 'emacs-patch-variables 'emacs-expand-load-path + (assoc-ref emacs:%standard-phases 'expand-load-path)) + (add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path + (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path)) + (add-after 'emacs-add-install-to-native-load-path 'emacs-install + (assoc-ref emacs:%standard-phases 'install)) + (add-after 'emacs-install 'emacs-build + (assoc-ref emacs:%standard-phases 'build)) + (add-after 'emacs-install 'emacs-make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads))))) + (native-inputs + (list autoconf + automake + emacs-minimal + pkg-config)) + (inputs + (list evolution-data-server)) + (home-page "https://tracker.debian.org/pkg/eweouz") + (synopsis "Emacs interface to Evolution Data Server") + (description + "Eweouz is an tool for looking up contacts from Evolution Data Server +from Emacs. It is similar to BBDB, except much, much simpler.") + ;; Most things are GPLv2-only although lisp/vcard.el is GPLv2+. + (license (list license:gpl2 license:gpl2+)))) + (define-public emacs-beacon (package (name "emacs-beacon") @@ -16068,8 +16132,7 @@ structure, or any other pattern.") (lambda* (#:key inputs #:allow-other-keys) (let ((ffplay (search-input-file inputs "/bin/ffplay"))) (substitute* "tmr.el" - (("\"ffplay ") - (string-append "\"" ffplay " ")))) + (("\"ffplay") (string-append "\"" ffplay)))) (emacs-substitute-variables "tmr.el" ("tmr-sound-file" (search-input-file diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4fb9775e8d..2e3994543a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4531,14 +4531,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "13.0") + (version "13.1") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0rxbsymfirkw2d9hn2lmi8yhlfx7qvpzhy7y7b48fw42w3hgi79k")))) + "1fsq1azddk1l11w89r93mgmhna34kvarfak7xy2q48rmf39j5psy")))) (build-system cmake-build-system) (inputs (list allegro diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index bdcc3f0508..47fb443155 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -556,17 +556,17 @@ Go. It also includes runtime support libraries for these languages.") ,@(package-inputs gcc-4.7))))) (define %gcc-7.5-aarch64-micro-architectures - ;; Suitable '-march' values for GCC 7.5. + ;; Suitable '-march' values for GCC 7.5 (info "(gcc) AArch64 Options"). ;; TODO: Allow dynamically adding feature flags. '("armv8-a" "armv8.1-a" "armv8.2-a" "armv8.3-a")) (define %gcc-7.5-armhf-micro-architectures - ;; Suitable '-march' values for GCC 7.5. + ;; Suitable '-march' values for GCC 7.5 (info "(gcc) ARM Options"). ;; TODO: Allow dynamically adding feature flags. '("armv7" "armv7-a" "armv7-m" "armv7-r" "armv7e-m" "armv7ve" "armv8-a" "armv8-a+crc" "armv8.1-a" "armv8.1-a+crc" "armv8-m.base" "armv8-m.main" "armv8-m.main+dsp" - "iwmmxt" "iwmmxt2")) + "iwmmxt" "iwmmxt2" "armv8.2-a")) (define %gcc-7.5-x86_64-micro-architectures ;; Suitable '-march' values for GCC 7.5 (info "(gcc) x86 Options"). @@ -589,7 +589,7 @@ Go. It also includes runtime support libraries for these languages.") ;; Suitable '-march' values for GCC 10. ;; TODO: Allow dynamically adding feature flags. (append %gcc-7.5-armhf-micro-architectures - '("armv8.2-a" "armv8.3-a" "armv8.4-a" "armv8.5-a" "armv8.6-a" + '("armv8.3-a" "armv8.4-a" "armv8.5-a" "armv8.6-a" "armv8-r" "armv8.1-m.main"))) (define %gcc-10-x86_64-micro-architectures @@ -603,7 +603,8 @@ Go. It also includes runtime support libraries for these languages.") (define %gcc-11-aarch64-micro-architectures ;; Suitable '-march' values for GCC 11. - %gcc-10-aarch64-micro-architectures) ;unchanged + (append %gcc-10-aarch64-micro-architectures + '("armv8-r"))) (define %gcc-11-armhf-micro-architectures %gcc-10-armhf-micro-architectures) @@ -615,6 +616,31 @@ Go. It also includes runtime support libraries for these languages.") "btver1" "btver2"))) ;AMD +;; Suitable '-march' values for GCC 12. +(define %gcc-12-aarch64-micro-architectures + (append %gcc-11-aarch64-micro-architectures + '("armv8.7-a" "armv8.8-a" "armv9-a"))) + +(define %gcc-12-armhf-micro-architectures + (append %gcc-11-armhf-micro-architectures + '("armv9-a"))) + +(define %gcc-12-x86_64-micro-architectures + (append %gcc-11-x86_64-micro-architectures + '("znver4"))) ;AMD + +;; Suitable '-march' values for GCC 13. +(define %gcc-13-aarch64-micro-architectures + (append %gcc-12-aarch64-micro-architectures + '("armv9.1-a" "armv9.2-a" "armv9.3-a"))) + +(define %gcc-13-armhf-micro-architectures + %gcc-12-armhf-micro-architectures) + +(define %gcc-13-x86_64-micro-architectures + (append %gcc-12-x86_64-micro-architectures + '("graniterapids"))) ;Intel + (define-public gcc-7 (package (inherit gcc-6) @@ -735,19 +761,24 @@ It also includes runtime support libraries for these languages.") (define-public gcc-12 (package (inherit gcc-11) - ;; Note: 'compiler-cpu-architectures' is unchanged compared to GCC 11. - (version "12.2.0") + (version "12.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "1zrhca90c7hqnjz3jgr1vl675q3h5lrd92b5ggi00jjryffcyjg5")) + "0fwcvbgpmjdfj5drfs8k6bkqsmxmz8pv4cmmjcd451p7k57mv6ll")) (patches (search-patches "gcc-12-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")) (modules '((guix build utils))) - (snippet gcc-canadian-cross-objdump-snippet))))) + (snippet gcc-canadian-cross-objdump-snippet))) + (properties + `((compiler-cpu-architectures + ("aarch64" ,@%gcc-12-aarch64-micro-architectures) + ("armhf" ,@%gcc-12-armhf-micro-architectures) + ("x86_64" ,@%gcc-12-x86_64-micro-architectures)) + ,@(package-properties gcc-11))))) ;; Note: When changing the default gcc version, update diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index cd56f50bf0..1337e8f20b 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020, 2021, 2022, 2023 Felix Gruber <felgru@posteo.net> -;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021, 2023 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org> @@ -38,6 +38,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages geo) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) @@ -47,12 +48,11 @@ #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system qt) - #:use-module (guix gexp) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) - #:use-module (guix svn-download) - #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix svn-download) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -89,9 +89,9 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-xyz) + #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) - #:use-module (gnu packages icu4c) #:use-module (gnu packages java) #:use-module (gnu packages kde) #:use-module (gnu packages libusb) @@ -118,8 +118,8 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages speech) - #:use-module (gnu packages swig) #:use-module (gnu packages sqlite) + #:use-module (gnu packages swig) #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -227,6 +227,121 @@ data formats are GRIB 1/2, netCDF 3/4, SERVICE, EXTRA and IEG. There are more than 600 operators available.") (license license:bsd-3))) +(define-public h3 + (package + (name "h3") + (version "4.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber/h3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x764xzna8ka6yhgv2y4hb158a61y3g9a6835qckqp7wfkpqvb7f")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"))) + (home-page "https://h3geo.org/") + (synopsis "Hexagonal hierarchical geospatial indexing system") + (description "H3 is a geospatial indexing system using a hexagonal grid +that can be (approximately) subdivided into finer and finer hexagonal grids, +combining the benefits of a hexagonal grid with S2's hierarchical +subdivisions.") + (license license:asl2.0))) + +;; For python-timezonefinder, remove it when it starts supporting newer +;; version. +(define-public h3-3 + (package + (inherit h3) + (name "h3") + (version "3.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber/h3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bvsljfxmjvl23v9gxykc4aynjzh5xfy3wg02bxad7cknr1amx9j")))))) + +(define-public python-h3 + (package + (name "python-h3") + (version "4.0.0b2") + (source + (origin + (method git-fetch) ; no tests data in PyPi package + (uri (git-reference + (url "https://github.com/uber/h3-py") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k1n256hhlh05gjcj64pqh08zlaz6962jkb6nk1aazsgg8p41zs0")) + (modules '((guix build utils))) + ;; Remove bundeled H3 lib. + (snippet #~(begin (delete-file-recursively "src/h3lib"))))) + (build-system pyproject-build-system) + (arguments + (list + ;; FIXME: Check why these tests are failing. + ;; test_versions - assert (4, 1) == (4, 0) + ;; test_resolution - h3._cy.error_system.H3Failed + #:test-flags #~(list "-k" (string-append + "not test_versions" + " and not test_resolution")) + #:phases + #~(modify-phases %standard-phases + ;; Use packaged in Guix h3 source. + (add-after 'unpack 'patch-cmakelists + (lambda _ + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(src/h3lib\\)") + (string-append + "include_directories(" #$(this-package-input "h3") + "/include/h3)\n" + "link_directories(" #$(this-package-input "h3") + "/lib)\n")) + ((".*CMAKE_CURRENT_BINARY_DIR.*") + (string-append #$(this-package-input "h3") + "/include/h3/h3api.h\n")))))))) + (native-inputs + (list cmake-minimal + python-cython + python-numpy + python-pytest + python-scikit-build + python-setuptools-scm)) + (inputs (list h3)) + (home-page "https://uber.github.io/h3-py") + (synopsis "Python bindings for H3") + (description "This package provides a Python bindings for H3, a +hierarchical hexagonal geospatial indexing system") + (license license:asl2.0))) + +;; For python-timezonefinder, remove it when it starts supporting newer +;; version. +(define-public python-h3-3 + (package + (inherit python-h3) + (name "python-h3") + (version "3.7.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber/h3-py") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16gxa1sivghxw179rik87r918mjasars2qkzidlwq83qfa4axn20")))) + (inputs + (modify-inputs (package-inputs python-h3) + (replace "h3" h3-3))))) + (define-public memphis (package (name "memphis") diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 73102e30cf..b1ff08d652 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2018, 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> @@ -261,7 +261,7 @@ provided, as well as a framework to add new color models and data types.") ("libnsgif" ,libnsgif) ("libpng" ,libpng) ("libraw" ,libraw) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libspiro" ,libspiro) ("libtiff" ,libtiff) ("libwebp" ,libwebp) @@ -350,7 +350,7 @@ buffers.") lcms ;optional, color management libheif ;optional, HEIF + AVIF support libmng ;optional, MNG support - librsvg ;optional, SVG support + (librsvg-for-system) ;optional, SVG support libxcursor ;optional, Mouse Cursor support openexr-2 ;optional, EXR support openjpeg ;optional, JPEG 2000 support diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 3a63d70c7a..235b386dad 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> +;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -266,21 +267,17 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "22.2.4") + (version "23.0.3") (source (origin (method url-fetch) - (uri (list (string-append "https://mesa.freedesktop.org/archive/" + (uri (list (string-append "https://archive.mesa3d.org/" "mesa-" version ".tar.xz") (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - "mesa-" version ".tar.xz") - (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - version "/mesa-" version ".tar.xz"))) + "mesa-" version ".tar.xz"))) (sha256 (base32 - "1azpr68pdg63yq3igmzwsgn2ypg49m0mp3hfkq0lcyswr99npmv5")) - (patches - (list (search-patch "mesa-fix-sporadic-test-failures.patch"))))) + "1mcjf41x2bhxs6yxars7nh2vfryfw50g6rvbcfbb1wqdv2jn4qrq")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. @@ -314,8 +311,10 @@ also known as DXTn or DXTC) for Mesa.") (@ (gnu packages base) which))) (outputs '("out" "bin")) (arguments - `(#:configure-flags - '(,@(match (%current-system) + (list + #:configure-flags + #~(list + #$@(match (%current-system) ("aarch64-linux" ;; TODO: Fix svga driver for non-Intel architectures. '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\ @@ -327,7 +326,7 @@ r300,r600,swrast,tegra,v3d,vc4,virgl")) ((or "powerpc64le-linux" "powerpc-linux" "riscv64-linux") '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl")) (_ - '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,\ + '("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\ svga,swrast,virgl"))) ;; Enable various optional features. TODO: opencl requires libclc, ;; omx requires libomxil-bellagio @@ -344,7 +343,7 @@ svga,swrast,virgl"))) "-Dshared-glapi=enabled" ;; Explicitly enable Vulkan on some architectures. - ,@(match (%current-system) + #$@(match (%current-system) ((or "i686-linux" "x86_64-linux") '("-Dvulkan-drivers=intel,amd")) ((or "powerpc64le-linux" "powerpc-linux") @@ -359,6 +358,10 @@ svga,swrast,virgl"))) ;; Enable the Vulkan overlay layer on all architectures. "-Dvulkan-layers=device-select,overlay" + ;; Enable the codecs that were built by default as part of the + ;; 21.3.x releases to avoid functionality regressions. + "-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc" + ;; Also enable the tests. "-Dbuild-tests=true" @@ -368,12 +371,12 @@ svga,swrast,virgl"))) ;; documentation recommends using 'release' for performance anyway. #:build-type "release" - #:modules ((ice-9 match) - (srfi srfi-1) - (guix build utils) - (guix build meson-build-system)) + #:modules '((ice-9 match) + (srfi srfi-1) + (guix build utils) + (guix build meson-build-system)) #:phases - (modify-phases %standard-phases + #~(modify-phases %standard-phases (add-after 'unpack 'disable-failing-test (lambda _ ;; Disable the intel vulkan (anv_state_pool) tests, as they may @@ -382,7 +385,7 @@ svga,swrast,virgl"))) (substitute* "src/intel/vulkan/meson.build" (("if with_tests") "if false")) - ,@(match (%current-system) + #$@(match (%current-system) ("riscv64-linux" ;; According to the test logs the llvm JIT is not designed ;; for this architecture and the llvmpipe tests all segfault. @@ -427,8 +430,8 @@ svga,swrast,virgl"))) (_ '((display "No tests to disable on this architecture.\n")))))) (add-before 'configure 'fix-dlopen-libnames - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) + (lambda _ + (let ((out #$output)) ;; Remain agnostic to .so.X.Y.Z versions while doing ;; the substitutions so we're future-safe. (substitute* "src/glx/meson.build" @@ -445,9 +448,9 @@ svga,swrast,virgl"))) (("\"gbm_dri\\.so") (string-append "\"" out "/lib/dri/gbm_dri.so")))))) (add-after 'install 'split-outputs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (bin (assoc-ref outputs "bin"))) + (lambda _ + (let ((out #$output) + (bin #$output:bin)) ;; Not all architectures have the Vulkan overlay control script. (mkdir-p (string-append out "/bin")) (call-with-output-file (string-append out "/bin/.empty") @@ -456,13 +459,13 @@ svga,swrast,virgl"))) (string-append bin "/bin")) (delete-file-recursively (string-append out "/bin"))))) (add-after 'install 'symlinks-instead-of-hard-links - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ ;; All the drivers and gallium targets create hard links upon ;; installation (search for "hardlink each megadriver instance" ;; in the makefiles). This is no good for us since we'd produce ;; nars that contain several copies of these files. Thus, turn ;; them into symlinks, which saves ~124 MiB. - (let* ((out (assoc-ref outputs "out")) + (let* ((out #$output) (lib (string-append out "/lib")) (files (find-files lib (lambda (file stat) @@ -488,7 +491,33 @@ svga,swrast,virgl"))) file) (symlink reference file))) others)))) - (delete-duplicates inodes)))))))) + (delete-duplicates inodes))))) + (add-after 'install 'set-layer-path-in-manifests + (lambda _ + (let* ((out #$output) + (implicit-path (string-append + out + "/share/vulkan/implicit_layer.d/")) + (explicit-path (string-append + out + "/share/vulkan/explicit_layer.d/")) + (fix-layer-path + (lambda (layer-name) + (let* ((explicit (string-append explicit-path layer-name ".json")) + (implicit (string-append implicit-path layer-name ".json")) + (manifest (if (file-exists? explicit) + explicit + implicit))) + (substitute* manifest + (((string-append "\"lib" layer-name ".so\"")) + (string-append "\"" out "/lib/lib" layer-name ".so\""))))))) + (for-each fix-layer-path '("VkLayer_MESA_device_select" + "VkLayer_MESA_overlay")))))))) + (native-search-paths + (list (search-path-specification + ;; Ensure the Mesa VDPAU drivers can be found. + (variable "VDPAU_DRIVER_PATH") + (files '("lib/vdpau"))))) (home-page "https://mesa3d.org/") (synopsis "OpenGL and Vulkan implementations") (description "Mesa is a free implementation of the OpenGL and Vulkan @@ -507,7 +536,7 @@ from software emulation to complete hardware acceleration for modern GPUs.") (arguments (substitute-keyword-arguments (package-arguments mesa) ((#:configure-flags flags) - `(cons "-Dgallium-opencl=standalone" ,flags)))) + #~(cons "-Dgallium-opencl=standalone" #$flags)))) (inputs (modify-inputs (package-inputs mesa) (prepend libclc))) @@ -521,10 +550,10 @@ from software emulation to complete hardware acceleration for modern GPUs.") (arguments (substitute-keyword-arguments (package-arguments mesa) ((#:configure-flags flags) - `(cons "-Dgallium-opencl=icd" - ,(delete "-Dgallium-opencl=standalone" flags))) + #~(cons "-Dgallium-opencl=icd" + (delete "-Dgallium-opencl=standalone" #$flags))) ((#:phases phases) - `(modify-phases ,phases + #~(modify-phases #$phases (add-after 'install 'mesa-icd-absolute-path (lambda _ ;; Use absolute path for OpenCL platform library. @@ -532,7 +561,7 @@ from software emulation to complete hardware acceleration for modern GPUs.") ;; for ICD in our applications to find OpenCL platform. (use-modules (guix build utils) (ice-9 textual-ports)) - (let* ((out (assoc-ref %outputs "out")) + (let* ((out #$output) (mesa-icd (string-append out "/etc/OpenCL/vendors/mesa.icd")) (old-path (call-with-input-file mesa-icd get-string-all)) (new-path (string-append out "/lib/" (string-trim-both old-path)))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 6462ee7963..540e5d71c0 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -311,8 +311,8 @@ currently does not do much, but it might in the future.") (license license:gpl3+))) (define-public guile-openai - (let ((commit "252f2d5660bb546015d18c60be96d3cf60c4dcfa") - (revision "1")) + (let ((commit "9265b641dea0246609b7bd5031f3f6780ef6a167") + (revision "2")) (package (name "guile-openai") (version (git-version "0.1" revision commit)) @@ -324,7 +324,7 @@ currently does not do much, but it might in the future.") (file-name (git-file-name name version)) (sha256 (base32 - "1qv0kr30d1x7ap1b0h03gl5pzp20xw4qd6b3l5v4iz4ka8qna9gi")))) + "0sydjsgdr6xxk1w5f8pf14wgimfy4fb1hpi8yml0nv83p7bfr1w3")))) (build-system guile-build-system) (arguments (list @@ -5593,7 +5593,7 @@ This module implements this interface by use of Guile's dynamic FFI.") (define-public guile-goblins (package (name "guile-goblins") - (version "0.10") + (version "0.11.0") (source (origin (method url-fetch) @@ -5602,7 +5602,7 @@ This module implements this interface by use of Guile's dynamic FFI.") version ".tar.gz")) (sha256 (base32 - "13nzmwi4m0j27rmn2ks0p3k620npnhx736q25n8llj2ivkn2vxd2")))) + "1ic4f65kbziszi5cz1b7ypl6acph6kdq5pc3wasa1jns3gkzfl6l")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 7bb239dd27..8088f23aa6 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -103,8 +103,9 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - ;; Also update and test the nss-certs package, which duplicates version and - ;; source to avoid a top-level variable reference & module cycle. + ;; IMPORTANT: Also update and test the nss-certs package, which duplicates + ;; version and source to avoid a top-level variable reference & module + ;; cycle. (version "3.88.1") (source (origin (method url-fetch) diff --git a/gnu/packages/patches/mesa-fix-sporadic-test-failures.patch b/gnu/packages/patches/mesa-fix-sporadic-test-failures.patch deleted file mode 100644 index 50ac5530a2..0000000000 --- a/gnu/packages/patches/mesa-fix-sporadic-test-failures.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 7749599d737d205a88bbb6fa755ba095d9b581fa -Author: Gert Wollny <gert.wollny@collabora.com> -Date: Mon Aug 15 17:15:43 2022 +0200 - - r600/sfn: Initialize out buffer when printing op - - 79ca456b4837b3bc21cf9ef3c03c505c4b4909f6 - r600/sfn: rewrite NIR backend - - Closes: #7021 - - Signed-off-by: Gert Wollny <gert.wollny@collabora.com> - Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130> - -diff --git a/src/gallium/drivers/r600/sfn/sfn_instr_export.cpp b/src/gallium/drivers/r600/sfn/sfn_instr_export.cpp -index 3d40ea1796a..00826ed6457 100644 ---- a/src/gallium/drivers/r600/sfn/sfn_instr_export.cpp -+++ b/src/gallium/drivers/r600/sfn/sfn_instr_export.cpp -@@ -206,7 +206,7 @@ bool WriteScratchInstr::do_ready() const - - void WriteScratchInstr::do_print(std::ostream& os) const - { -- char buf[6]; -+ char buf[6] = {0}; - - os << "WRITE_SCRATCH "; - if (m_address) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 91a01df2ce..f272a252fc 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -518,16 +518,7 @@ Astropy project, but is optimized for use with astropy-related projects.") (sha256 (base32 "04g2rh261s3s6ym8mwi4iv2a6anbgwvwzcvkyilfck6yxrncdqw5")))) (build-system python-build-system) - (arguments - `(#:tests? #f ; there are no tests - #:phases - (modify-phases %standard-phases - ;; There is a bug somewhere that makes pytest-filter-subpackage appear - ;; as version 0.0.0 to setup.py. Remove it from the requirements. - (add-after 'unpack 'remove-requirement - (lambda _ - (substitute* "setup.cfg" - ((".*pytest-filter-subpackage.*") ""))))))) + (arguments (list #:tests? #f)) ; there are no tests (native-inputs (list python-attrs python-pytest-mock python-setuptools-scm)) (propagated-inputs @@ -550,22 +541,22 @@ astropy related packages.") (define-public python-pytest-arraydiff (package (name "python-pytest-arraydiff") - (version "0.3") + (version "0.5.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-arraydiff" version)) (sha256 - (base32 "05bcvhh2ycxa35znl8b3l9vkcmx7vwm5c3fpakbpw46c7vsn4bfy")))) + (base32 "1livzfbi7ag17hskd5845dh1kdir24f7jrbw8y2s1pyhzyz4jhbi")))) (build-system python-build-system) (arguments ;; Tests require python-astropy, which itself requires this package. ;; Disable tests to avoid the circular dependency problem. '(#:tests? #f)) (native-inputs - (list python-pytest)) ; for sanity-check + (list python-pytest python-setuptools-scm)) ; for sanity-check (propagated-inputs - (list python-numpy python-six)) + (list python-numpy)) (home-page "https://github.com/astropy/pytest-arraydiff") (synopsis "Pytest plugin to help with comparing array output from tests") (description @@ -577,32 +568,25 @@ are too large to conveniently hard-code them in the tests.") (define-public python-pytest-doctestplus (package (name "python-pytest-doctestplus") - (version "0.11.2") + (version "0.12.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-doctestplus" version)) (sha256 - (base32 "0j1lvlj3ps975q9hmg8i6rpqm0313j3r18bc3l8mz6khb7vav4zk")))) - (build-system python-build-system) + (base32 "10ciqylgziihxwxryxvxgmkqgws51pqcarn0gbh1d4cxx55rx5vs")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - ;; Make the installed plugin discoverable by Pytest. - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest" "-k" - (string-append ; skip tests that require remote data - "not test_remote_data_url" - " and not test_remote_data_float_cmp" - " and not test_remote_data_ignore_whitespace" - " and not test_remote_data_ellipsis" - " and not test_remote_data_requires" - " and not test_remote_data_ignore_warnings")))))))) + (list #:test-flags + #~(list "-k" (string-append + "not test_remote_data_url" + " and not test_remote_data_float_cmp" + " and not test_remote_data_ignore_whitespace" + " and not test_remote_data_ellipsis" + " and not test_remote_data_requires" + " and not test_remote_data_ignore_warnings")))) (native-inputs - (list python-pytest python-setuptools-scm)) + (list python-numpy python-pytest python-setuptools-scm)) (home-page "https://github.com/astropy/pytest-doctestplus") (synopsis "Pytest plugin with advanced doctest features") (description @@ -640,27 +624,19 @@ for interactively selecting and running Pytest tests.") (define-public python-pytest-filter-subpackage (package (name "python-pytest-filter-subpackage") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (pypi-uri "pytest-filter-subpackage" version)) (sha256 - (base32 "1s4s2kd31yc65rfvl4xhy8xx806xhy59kc7668h6b6wq88xgrn5p")))) - (build-system python-build-system) - (arguments - '(;; One test is failing. There's an issue reported upstream. See - ;; https://github.com/astropy/pytest-filter-subpackage/issues/3. - ;; Disable it for now. - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make the installed plugin discoverable by Pytest. - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv" "-k" "not test_with_rst")))))) + (base32 "10hpl3f7g2bm29lakmp8492b7lr0dp90khfni12m4gl02xks7bhz")))) + (build-system pyproject-build-system) (native-inputs - (list python-pytest python-pytest-cov python-pytest-doctestplus)) + (list python-pytest + python-pytest-cov + python-pytest-doctestplus + python-setuptools-scm)) (home-page "https://github.com/astropy/pytest-filter-subpackage") (synopsis "Pytest plugin for filtering based on sub-packages") (description @@ -759,30 +735,23 @@ were inadvertently left open at the end of a unit test.") (define-public python-pytest-remotedata (package (name "python-pytest-remotedata") - (version "0.3.2") + (version "0.4.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-remotedata" version)) (sha256 - (base32 "1h6g6shib6z07azf12rnsa053470ggbd7hy3bnbw8nf3nza5h372")))) - (build-system python-build-system) + (base32 "1j5106j331cfdyfcwzrbs3yby84mq1b0kddfysq12z2dwdcca8dy")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make the installed plugin discoverable by Pytest. - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv" "-k" - (string-append - ;; These tests require internet access. Disable them. - "not test_default_behavior" - " and not test_strict_with_decorator"))))))) + (list + #:test-flags #~(list "-k" (string-append + "not test_default_behavior" + " and not test_strict_with_decorator")))) (native-inputs - (list python-pytest)) + (list python-pytest python-setuptools-scm)) (propagated-inputs - (list python-six)) + (list python-packaging)) (home-page "https://github.com/astropy/pytest-remotedata") (synopsis "Pytest plugin for controlling remote data access") (description @@ -862,24 +831,25 @@ framework and makes it easy to undo any monkey patching. The fixtures are: (define-public python-pytest-mpl (package (name "python-pytest-mpl") - (version "0.11") + (version "0.16.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-mpl" version)) (sha256 - (base32 "1km202c1s5kcn52fx0266p06qb34va3warcby594dh6vixxa9i96")))) - (build-system python-build-system) + (base32 "0sa4229xkkah3fdg9wnqnvb9j13xsd3x1h5rwbsgb3sf2a0icmrd")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (list + #:test-flags #~(list "-m" "mpl_image_compare"))) (native-inputs (list python-pytest)) (propagated-inputs - (list python-matplotlib python-nose python-pillow)) + (list python-jinja2 + python-matplotlib + python-nose + python-packaging + python-pillow)) (home-page "https://github.com/matplotlib/pytest-mpl") (synopsis "Pytest plugin to help with testing figures output from Matplotlib") (description diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index e3f3b05ccd..c9f122c5c9 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2016, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -568,20 +568,21 @@ Python module with the same interface, but (hopefully) faster.") (define-public python-bottleneck (package (name "python-bottleneck") - (version "1.3.2") + (version "1.3.7") (source (origin (method url-fetch) (uri (pypi-uri "Bottleneck" version)) (sha256 - (base32 "0wz5320jx3n4q2nsvwvc7cpi66b46qbals9v53m955rmcq5ry5r0")))) + (base32 "1y410r3scfhs6s1j1jpxig01qlyn2hr2izyh1qsdlsfl78vpwip1")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "python" "setup.py" "pytest")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "setup.py" "pytest"))))))) (native-inputs (list python-hypothesis python-pytest python-pytest-runner)) (propagated-inputs @@ -1762,7 +1763,7 @@ NeuroML2 models.") "This package provides a Python library for working with NeuroML descriptions of neuronal models") (license license:bsd-3))) - + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3780cca062..4f48d80eb6 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3785,23 +3785,30 @@ and is not compatible with JSON.") (define-public python-extension-helpers (package (name "python-extension-helpers") - (version "0.1") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "extension-helpers" version)) (sha256 - (base32 "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc")))) - (build-system python-build-system) + (base32 "1rjha07ds633fb81hn3i2yzk3v2flbi6qa091ix4mkvrgk3gl6ya")))) + (build-system pyproject-build-system) + ;; FIXME: pytest failed to load test suit, find out why. + ;; - _pytest.pathlib.ImportPathMismatchError: ('extension_helpers.conftes + (arguments (list #:tests? #f)) (native-inputs - (list python-coverage python-pytest-astropy python-pytest-cov + (list python-coverage + python-pytest + python-pytest-astropy + python-pytest-cov python-setuptools-scm)) - (home-page "https://github.com/astropy/astropy-helpers") - (synopsis - "Utilities for building and installing packages in the Astropy ecosystem") + (home-page "https://extension-helpers.readthedocs.io") + (synopsis "Astropy ecosystem utilities for building and installing packages") (description - "The extension-helpers package includes many build, installation, and -documentation-related tools used by the Astropy project.") + "The extension-helpers package includes convenience helpers to assist with +building Python packages with compiled C/Cython extensions. It is developed by +the Astropy project but is intended to be general and usable by any Python +package.") (license license:bsd-3))) (define-public python-extras @@ -14364,20 +14371,21 @@ systems, as a command line tool, and as a Python library.") (define-public python-bleach (package (name "python-bleach") - (version "5.0.0") + (version "5.0.1") (source (origin (method url-fetch) (uri (pypi-uri "bleach" version)) (sha256 - (base32 "0rc5avysbsl3w3i2qvb6522263zhwlvf50w0ifs8776w9c2wrmn6")))) - (build-system python-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? (invoke "pytest" "-vv"))))))) - (propagated-inputs (list python-tinycss2 python-webencodings)) + (base32 "0p089853pkwzf1j2zjlmw67pwbkk0whpzfx9dbrd56zb8xf2a0qd")) + (snippet + #~(begin + (use-modules (guix build utils)) + (substitute* (find-files "." "\\.py$") + (("bleach\\._vendor\\.html5lib") "html5lib")) + (delete-file-recursively "bleach/_vendor/html5lib"))))) + (build-system pyproject-build-system) + (propagated-inputs (list python-html5lib python-tinycss2 python-webencodings)) (native-inputs (list python-pytest)) (home-page "https://github.com/mozilla/bleach") (synopsis "Whitelist-based HTML-sanitizing tool") diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index d6bcb8d093..570de2259e 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -842,7 +842,7 @@ eye-candy, customizable, and reasonably lightweight.") (define-public foot (package (name "foot") - (version "1.13.1") + (version "1.14.0") (home-page "https://codeberg.org/dnkl/foot") (source (origin (method git-fetch) @@ -850,7 +850,7 @@ eye-candy, customizable, and reasonably lightweight.") (file-name (git-file-name name version)) (sha256 (base32 - "0k0zbh6adwr99y9aazlyvp6s1k8zaq2j6x8kqb8q9a5qjjg56lay")))) + "1187805pxygyl547w75i4cl37kaw8y8ng11r5qqldv6fm74k31mk")))) (build-system meson-build-system) (arguments `(;; Using a "release" build is recommended both for performance, and @@ -861,6 +861,12 @@ eye-candy, customizable, and reasonably lightweight.") (native-inputs (list ncurses ;for 'tic' pkg-config scdoc wayland-protocols)) + (native-search-paths + ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is + ;; provided for usability reasons. See <https://bugs.gnu.org/22138>. + (list (search-path-specification + (variable "TERMINFO_DIRS") + (files '("share/terminfo"))))) (inputs (list fcft libxkbcommon wayland)) (synopsis "Wayland-native terminal emulator") @@ -1378,7 +1384,7 @@ terminal are replicated to the others. (define-public tio (package (name "tio") - (version "1.36") + (version "2.5") (source (origin (method url-fetch) @@ -1386,7 +1392,7 @@ terminal are replicated to the others. "https://github.com/tio/tio/releases/download/v" version "/tio-" version ".tar.xz")) (sha256 - (base32 "0z27ghxjiw7y587l49jsb0anylm08m7imqjiwr21k1frxvydswsa")))) + (base32 "19s41i8f3kxchlaibp7wkq8gqgbpfdn0srkf1wcfx357j3p54f86")))) (build-system meson-build-system) (native-inputs (list pkg-config)) (inputs (list libinih)) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index c0bcb848b3..36b561b041 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022 Pradana AUMARS <paumars@courrier.dev> +;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,9 @@ (define-module (gnu packages time) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages geo) #:use-module (gnu packages golang) + #:use-module (gnu packages libffi) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-build) @@ -50,8 +53,10 @@ #:use-module (gnu packages) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix licenses) #:use-module (guix packages)) @@ -278,6 +283,38 @@ datetime module, available in Python 2.3+.") Python datetime objects.") (license expat))) +(define-public python-timezonefinder + (package + (name "python-timezonefinder") + (version "6.2.0") + (source + (origin + (method git-fetch) + ;; The PyPi distribution doesn't include the tests. + (uri (git-reference + (url "https://github.com/jannikmi/timezonefinder") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qv9rh6j8c1cqwh4sxrfl1m1ah4aqrf0w2kyrf5cgrpfxi6xr94z")))) + (build-system pyproject-build-system) + (arguments + (list + ;; TODO: Guix has lower python-pytz than required in the latest + ;; version: pytz.exceptions.UnknownTimeZoneError: + ;; 'America/Ciudad_Juarez' + ;; It's optional, remove this constrain where python-pytz is updated. + #:test-flags #~(list "-k" "not test_with_pytz"))) + (native-inputs + (list python-poetry-core python-pytest)) + (propagated-inputs + (list python-cffi python-h3-3 python-numba python-numpy python-pytz)) + (home-page "https://timezonefinder.michelfe.it/gui") + (synopsis "Finding the timezone of any coordinates on Earth offline") + (description "This is a python package for looking up the corresponding +timezone for given coordinates on earth entirely offline.") + (license expat))) + (define-public python-tzlocal (package (name "python-tzlocal") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 31fa687e87..23c06b33ba 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1502,14 +1502,14 @@ quality and performance.") (define-public libva (package (name "libva") - (version "2.17.0") + (version "2.18.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/intel/libva/releases/download/" version "/libva-" version ".tar.bz2")) (sha256 - (base32 "1b2f1hik4x3n4n8217sg1k602wqjba8x20r7nsdmmq05qckyprgk")))) + (base32 "10j9rm6ajgp3fda7pwl058lchdip0wq20bvydil28ff2l3mpwmx3")))) (build-system gnu-build-system) (native-inputs (list config pkg-config)) @@ -1558,14 +1558,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public libva-utils (package (name "libva-utils") - (version "2.5.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/intel/libva-utils/releases/download/" version "/libva-utils-" version ".tar.bz2")) (sha256 - (base32 "05rasyqnsg522zqxak1q8rrm1hys7wwbi41kd0szjq0d27awjf4j")))) + (base32 "06n123kvzk51bx5cbhf34i3cfxc8vxmksgh5azycz9fwwcz3n7rm")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1575,7 +1575,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (list pkg-config)) (inputs (list libdrm libva libx11 mesa wayland)) - (home-page "https://01.org/linuxmedia/vaapi") + (home-page "https://github.com/intel/libva-utils") (synopsis "Collection of testing utilities for VA-API") (description "This is a collection of utilities to query and test the @acronym{VA-API, @@ -3625,7 +3625,7 @@ present in modern GPUs.") (define-public vdpauinfo (package (name "vdpauinfo") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -3634,7 +3634,7 @@ present in modern GPUs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0s84bavxr39w0r7zfaac7kpbfsg88hgymqyzcr0yvbj1yry3liz2")))) + (base32 "01nkk8rixzvicrg0cr90mbxyd4vdyd0739ipywn0mx56xddambmx")))) (build-system gnu-build-system) (arguments `(#:phases |