diff options
36 files changed, 2849 insertions, 453 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index c49e51b72e..a58ea8f9ec 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -18959,7 +18959,6 @@ will fail if @var{device} does not exist. @end table @end deftp -@anchor{pam-limits-service} @cindex session limits @cindex ulimit @cindex priority @@ -18967,22 +18966,23 @@ will fail if @var{device} does not exist. @cindex jackd @cindex nofile @cindex open file descriptors -@deffn {Scheme Procedure} pam-limits-service [#:limits @code{'()}] - -Return a service that installs a configuration file for the +@anchor{pam-limits-service-type} +@defvar pam-limits-service-type +Type of the service that installs a configuration file for the @uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, -@code{pam_limits} module}. The procedure optionally takes a list of -@code{pam-limits-entry} values, which can be used to specify +@code{pam_limits} module}. The value for this service type is +a list of @code{pam-limits-entry} values, which can be used to specify @code{ulimit} limits and @code{nice} priority limits to user sessions. +By default, the value is the empty list. The following limits definition sets two hard and soft limits for all login sessions of users in the @code{realtime} group: @lisp -(pam-limits-service - (list - (pam-limits-entry "@@realtime" 'both 'rtprio 99) - (pam-limits-entry "@@realtime" 'both 'memlock 'unlimited))) +(service pam-limits-service-type + (list + (pam-limits-entry "@@realtime" 'both 'rtprio 99) + (pam-limits-entry "@@realtime" 'both 'memlock 'unlimited))) @end lisp The first entry increases the maximum realtime priority for @@ -18994,9 +18994,9 @@ Another useful example is raising the maximum number of open file descriptors that can be used: @lisp -(pam-limits-service - (list - (pam-limits-entry "*" 'both 'nofile 100000))) +(service pam-limits-service-type + (list + (pam-limits-entry "*" 'both 'nofile 100000))) @end lisp In the above example, the asterisk means the limit should apply to any @@ -19005,7 +19005,7 @@ maximum system value visible in the @file{/proc/sys/fs/file-max} file, else the users would be prevented from login in. For more information about the Pluggable Authentication Module (PAM) limits, refer to the @samp{pam_limits} man page from the @code{linux-pam} package. -@end deffn +@end defvar @defvar greetd-service-type @uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index 83983c0738..773910ac80 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,9 +74,7 @@ TARGET." "connman" "network-manager" "network-manager-applet" "openssh" "ntp" "tor" "linux-libre" "grub-hybrid" - ;; FIXME: Add IceCat when Rust is available on i686. - ;;"icecat" - )) + "icecat")) %default-xorg-modules)) (define %packages-to-cross-build diff --git a/etc/teams.scm.in b/etc/teams.scm.in index 4c95c48543..a8957b4ea0 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -461,7 +461,8 @@ GLib/GIO, GTK, GStreamer and Webkit." (team 'lxqt #:name "LXQt team" #:description "LXQt desktop environment." - #:scope (list "gnu/packages/lxqt.scm"))) + #:scope (list "gnu/packages/lxqt.scm" + "gnu/packages/qt.scm"))) (define-member (person "Eric Bavier" @@ -482,7 +483,7 @@ GLib/GIO, GTK, GStreamer and Webkit." (define-member (person "Andreas Enge" "andreas@enge.fr") - science) + lxqt science) (define-member (person "Tobias Geerinckx-Rice" "me@tobias.gr") diff --git a/gnu/local.mk b/gnu/local.mk index 65662f8667..724cd3216a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -782,6 +782,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/messaging.scm \ %D%/tests/networking.scm \ %D%/tests/package-management.scm \ + %D%/tests/pam.scm \ %D%/tests/reconfigure.scm \ %D%/tests/rsync.scm \ %D%/tests/samba.scm \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4f4e7bc947..50ff678095 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -42,6 +42,7 @@ ;;; Copyright © 2022 Andy Tai <atai@atai.org> ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> ;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu> +;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,8 +67,8 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bison) - #:use-module (gnu packages build-tools) #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -86,6 +87,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnunet) ; libmicrohttpd #:use-module (gnu packages gperf) + #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -95,6 +97,7 @@ #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages libusb) + #:use-module (gnu packages linphone) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages machine-learning) @@ -120,8 +123,6 @@ #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages telephony) - #:use-module (gnu packages linphone) - #:use-module (gnu packages linux) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages video) @@ -3964,6 +3965,55 @@ compression modes. This package contains command-line programs and library to encode and decode wavpack files.") (license license:bsd-3))) +(define-public libmixed + ;; Release is much outdated. + (let ((commit "91e6b9f2438bca41205fade02c9d8f4f938838b6") + (revision "0")) + (package + (name "libmixed") + (version (git-version "2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/libmixed") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01vwgv8ivpg7a4y95krkgh656mmklsn1k3fmhwp474aj82grd3m4")))) + (build-system cmake-build-system) + (arguments + (list + ;; FIXME: (Sharlatan-20230326T121542+0100): Tests failed 1/34, 1 failed, + ;; 33 passed. There is not simple way to disable just one test. + ;; https://github.com/Shirakumo/libmixed/issues/13 + #:tests? #f + #:configure-flags + #~(list "-DBUILD_STATIC=OFF" + "-DCMAKE_CXX_FLAGS=-O3 -fPIC" + "-DCMAKE_C_FLAGS=-O3 -fPIC") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda _ + (substitute* "CMakeLists.txt" + (("/usr/local") #$output)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./tester"))))))) + (native-inputs (list doxygen graphviz)) + (inputs (list mpg123 ncurses)) + (home-page "https://github.com/Shirakumo/libmixed") + (synopsis "Low-level audio mixer pipeline library") + (description + "Libmixed is a library for real-time audio processing pipelines for use +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))))) + (define-public libmodplug (package (name "libmodplug") diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 52970f58fe..0cc8def918 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -473,7 +473,7 @@ test any system or protocol. Note: Locust will complain if the available open file descriptors limit for the user is too low. To raise such limit on a Guix System, refer to -@samp{info guix --index-search=pam-limits-service}.") +@samp{info guix --index-search=pam-limits-service-type}.") (license license:expat))) (define-public interbench diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index fe446df67a..2e529d4770 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -640,6 +640,50 @@ from several related annotation packages.") data.") (license license:artistic2.0))) +(define-public r-illuminahumanmethylation450kmanifest + (package + (name "r-illuminahumanmethylation450kmanifest") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri + "IlluminaHumanMethylation450kmanifest" + version 'annotation)) + (sha256 + (base32 + "0qx75xwifrbkqmbkd8dhf44c34ibmbivqh7y8rvgrsizmi5ybcj1")))) + (properties `((upstream-name . "IlluminaHumanMethylation450kmanifest"))) + (build-system r-build-system) + (propagated-inputs (list r-minfi)) + (home-page + "https://bioconductor.org/packages/IlluminaHumanMethylation450kmanifest") + (synopsis "Annotation for Illumina's 450k methylation arrays") + (description "This package provides a manifest for Illumina's 450k array +data.") + (license license:artistic2.0))) + +(define-public r-illuminahumanmethylationepicanno-ilm10b4-hg19 + (package + (name "r-illuminahumanmethylationepicanno-ilm10b4-hg19") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri + "IlluminaHumanMethylationEPICanno.ilm10b4.hg19" + version 'annotation)) + (sha256 + (base32 + "0687b4k8hwfc18qgdd9ypv1skp37jd204fszba0gmrv3dc92i09c")))) + (properties `((upstream-name . "IlluminaHumanMethylationEPICanno.ilm10b4.hg19"))) + (build-system r-build-system) + (propagated-inputs (list r-minfi)) + (home-page + "https://doi.org/doi:10.18129/B9.bioc.IlluminaHumanMethylationEPICanno.ilm10b4.hg19") + (synopsis "Annotation for Illumina's EPIC methylation arrays") + (description + "This is an annotation package for Illumina's EPIC methylation arrays.") + (license license:artistic2.0))) + (define-public r-org-ce-eg-db (package (name "r-org-ce-eg-db") @@ -1392,6 +1436,26 @@ curated cell type labels, for use in procedures like automated annotation of single-cell data or deconvolution of bulk RNA-seq.") (license license:gpl3))) +(define-public r-champdata + (package + (name "r-champdata") + (version "2.30.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "ChAMPdata" version 'experiment)) + (sha256 + (base32 + "0rz762szfl02h4d3dj7ckd41ji9mdsja8nxqw6fl086z337041zw")))) + (properties `((upstream-name . "ChAMPdata"))) + (build-system r-build-system) + (propagated-inputs (list r-biocgenerics r-genomicranges)) + (home-page "https://bioconductor.org/packages/ChAMPdata") + (synopsis "Data packages for ChAMP package") + (description + "This package provides datasets needed for ChAMP including a test dataset +and blood controls for CNA analysis.") + (license license:gpl3))) + (define-public r-chromstardata (package (name "r-chromstardata") @@ -1434,6 +1498,63 @@ display copy number variation. Files are stored as GRanges objects from the GenomicRanges Bioconductor package.") (license license:gpl2))) +(define-public r-flowsorted-blood-450k + (package + (name "r-flowsorted-blood-450k") + (version "1.36.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "FlowSorted.Blood.450k" + version 'experiment)) + (sha256 + (base32 + "1ha9qsp5g3g2yhnk574x6xhg95bb29ywvmg3ns1c50z69v6wbraq")))) + (properties `((upstream-name . "FlowSorted.Blood.450k"))) + (build-system r-build-system) + (propagated-inputs (list r-minfi)) + (home-page "https://bioconductor.org/packages/FlowSorted.Blood.450k") + (synopsis + "Illumina HumanMethylation data on sorted blood cell populations") + (description + "This package provides raw data objects for the Illumina 450k DNA +methylation microarrays, and an object depicting which CpGs on the array are +associated with cell type.") + (license license:artistic2.0))) + +(define-public r-flowsorted-blood-epic + (package + (name "r-flowsorted-blood-epic") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "FlowSorted.Blood.EPIC" version + 'experiment)) + (sha256 + (base32 + "1vybj69jxnirqg6ik03q3pb1vv23z8mir7wpi2ys7iljf5ixzgl1")))) + (properties `((upstream-name . "FlowSorted.Blood.EPIC"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationhub + r-experimenthub + r-genefilter + r-minfi + r-nlme + r-quadprog + r-s4vectors + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/immunomethylomics/FlowSorted.Blood.EPIC") + (synopsis + "Illumina EPIC data on immunomagnetic sorted peripheral adult blood cells") + (description + "This package provides raw data objects to be used for blood cell +proportion estimation in minfi and similar packages. The +@code{FlowSorted.Blood.EPIC} object is based in samples assayed by Brock +Christensen and colleagues; for details see Salas et al. 2018. +https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE110554.") + (license license:gpl3))) + (define-public r-genelendatabase (package (name "r-genelendatabase") @@ -1523,6 +1644,28 @@ cluster labels and labels identifying spiked in cells. Column metadata includes channel names, protein marker names, and protein marker classes.") (license license:expat))) +(define-public r-illumina450probevariants-db + (package + (name "r-illumina450probevariants-db") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Illumina450ProbeVariants.db" + version 'experiment)) + (sha256 + (base32 + "1c1iqxi17s1a1sa1vab2ma7pjq1dxal7ibsiahj66ys0pa4sm42p")))) + (properties `((upstream-name . "Illumina450ProbeVariants.db"))) + (build-system r-build-system) + (home-page "https://bioconductor.org/packages/Illumina450ProbeVariants.db") + (synopsis + "Variant data from 1000 Genomes Project for Illumina HumanMethylation450 Bead Chip probes") + (description + "This package includes details on variants for each probe on the 450k +bead chip for each of the four populations (Asian, American, African and +European).") + (license license:gpl3))) + (define-public r-italicsdata (package (name "r-italicsdata") @@ -1565,6 +1708,79 @@ gene expression indicate a role for enhancer priming in immune response\", publi in Nature Genetics, January 2018.") (license license:gpl2+))) +(define-public r-minfidata + (package + (name "r-minfidata") + (version "0.44.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "minfiData" version 'experiment)) + (sha256 + (base32 + "15s3kc629m2c78vkidmp6kcc28sn1wzjzrxazmd8z7x8cdad3q4g")))) + (properties `((upstream-name . "minfiData"))) + (build-system r-build-system) + (propagated-inputs + (list r-illuminahumanmethylation450kanno-ilmn12-hg19 + r-illuminahumanmethylation450kmanifest + r-minfi)) + (home-page "https://bioconductor.org/packages/minfiData") + (synopsis "Example data for the Illumina Methylation 450k array") + (description + "This package provides data from 6 samples across 2 groups from 450k +methylation arrays.") + (license license:artistic2.0))) + +(define-public r-missmethyl + (package + (name "r-missmethyl") + (version "1.32.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "missMethyl" version)) + (sha256 + (base32 + "1rrm8m68kgjkrw1wdli5lrwqlavhbm490zgnj5vafzpvx7xajfma")))) + (properties `((upstream-name . "missMethyl"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationdbi + r-biasedurn + r-biobase + r-biocgenerics + r-genomicranges + r-go-db + r-illuminahumanmethylation450kanno-ilmn12-hg19 + r-illuminahumanmethylation450kmanifest + r-illuminahumanmethylationepicanno-ilm10b4-hg19 + r-illuminahumanmethylationepicmanifest + r-iranges + r-limma + r-methylumi + r-minfi + r-org-hs-eg-db + r-ruv + r-s4vectors + r-statmod + r-stringr + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/missMethyl") + (synopsis "Analyzing Illumina HumanMethylation BeadChip data") + (description + "This is a package for normalization, testing for differential +variability and differential methylation and gene set testing for data from +Illumina's Infinium HumanMethylation arrays. The normalization procedure is +subset-quantile within-array normalization (SWAN), which allows Infinium I and +II type probes on a single array to be normalized together. The test for +differential variability is based on an empirical Bayes version of Levene's +test. Differential methylation testing is performed using RUV, which can +adjust for systematic errors of unknown origin in high-dimensional data by +using negative control probes. Gene ontology analysis is performed by taking +into account the number of probes per gene on the array, as well as taking +into account multi-gene associated probes.") + (license license:gpl2))) + (define-public r-msdata (package (name "r-msdata") @@ -2516,13 +2732,13 @@ problems.") (define-public r-amaretto (package (name "r-amaretto") - (version "1.13.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AMARETTO" version)) (sha256 (base32 - "18w65sf3h4yzw9v5xgkalxnkmgzgsx100v7qc7z4ifx10lgpji5n")))) + "06j75c4j71fkkw5s52nbzb3k084y2f4v4h3js9dgsxxrd6jkzfz9")))) (properties `((upstream-name . "AMARETTO"))) (build-system r-build-system) (propagated-inputs @@ -2761,13 +2977,13 @@ for use in Bioconductor’s AnnotationHub.") (define-public r-anvil (package (name "r-anvil") - (version "1.10.1") + (version "1.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnVIL" version)) (sha256 (base32 - "0iqsffkrxv28g9cddx2w05f2dbscwxhh6bpizwa8xaxhvn5bcpsv")))) + "1j7n8c47j3njd5rnlrj8bkn4q5z7jpm0c9rdq1mlwd2i1yy9fz9b")))) (properties `((upstream-name . "AnVIL"))) (build-system r-build-system) (propagated-inputs @@ -4533,6 +4749,46 @@ spent loading the full derfinder package when running the F-statistics calculation in parallel.") (license license:artistic2.0))) +(define-public r-dmrcate + (package + (name "r-dmrcate") + (version "2.12.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "DMRcate" version)) + (sha256 + (base32 + "0iphlsbam5fcxbj5j0cmqk3wz5ykwz0mvk3qbrhzxbpf2h4w2qib")))) + (properties `((upstream-name . "DMRcate"))) + (build-system r-build-system) + (propagated-inputs + (list r-bsseq + r-dss + r-edger + r-experimenthub + r-genomeinfodb + r-genomicranges + r-gviz + r-iranges + r-limma + r-minfi + r-missmethyl + r-plyr + r-s4vectors + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/DMRcate") + (synopsis "Methylation array and sequencing spatial analysis methods") + (description + "This is a package for de novo identification and extraction of +@dfn{differentially methylated regions} (DMRs) from the human genome using +@dfn{Whole Genome Bisulfite Sequencing} (WGBS) and Illumina Infinium +Array (450K and EPIC) data. It provides functionality for filtering probes +possibly confounded by SNPs and cross-hybridisation. It includes +@code{GRanges} generation and plotting functions.") + ;; GPLv3 with additional liability disclaimer. + (license license:gpl3))) + (define-public r-drimseq (package (name "r-drimseq") @@ -4568,6 +4824,32 @@ makes available functions for visualization and exploration of the data and results.") (license license:gpl3+))) +(define-public r-dss + (package + (name "r-dss") + (version "2.46.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "DSS" version)) + (sha256 + (base32 + "1qm0pq6495fn2zrbddaadb1w01ry76rg8mmbmxf3zws9pww48jgf")))) + (properties `((upstream-name . "DSS"))) + (build-system r-build-system) + (propagated-inputs (list r-biobase r-biocparallel r-bsseq)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/DSS") + (synopsis "Dispersion shrinkage for sequencing data") + (description + "DSS is an R library performing differential analysis for count-based +sequencing data. It detects @dfn{differentially expressed genes} (DEGs) from +RNA-seq, and differentially methylated loci or regions (DML/DMRs) from +@dfn{bisulfite sequencing} (BS-seq). The core of DSS is a dispersion +shrinkage method for estimating the dispersion parameter from Gamma-Poisson or +Beta-Binomial distributions.") + ;; Any version of the GPL + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-bluster (package (name "r-bluster") @@ -4763,6 +5045,28 @@ domains etc.) from quantification of all types of RNASeq by tools such as Kallisto, Salmon, StringTie, Cufflinks/Cuffdiff etc.") (license license:gpl2+))) +;; This is a CRAN package, but it depends on qvalue from Bioconductor. +(define-public r-isva + (package + (name "r-isva") + (version "1.9") + (source (origin + (method url-fetch) + (uri (cran-uri "isva" version)) + (sha256 + (base32 + "05qx9q0kg4ma23v4abhihw0vz017nq6hv2jzsiqx4d20ngh1dl4z")))) + (properties `((upstream-name . "isva"))) + (build-system r-build-system) + (propagated-inputs (list r-fastica r-jade r-qvalue)) + (home-page "https://cran.r-project.org/package=isva") + (synopsis "Independent surrogate variable analysis") + (description + "Independent Surrogate Variable Analysis is an algorithm for feature +selection in the presence of potential confounding factors (see Teschendorff +AE et al 2011, <doi: 10.1093/bioinformatics/btr171>).") + (license license:gpl2))) + (define-public r-italics (package (name "r-italics") @@ -5239,14 +5543,14 @@ used by @code{ensembldb}, @code{Organism.dplyr}, and other packages.") (define-public r-annotationforge (package (name "r-annotationforge") - (version "1.40.1") + (version "1.40.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationForge" version)) (sha256 (base32 - "16wdcl56d5i8wrmin610kzs9ldy7h9w5fbnysjb1crkcgbikq1yy")))) + "1ab7nl9zrlhlkwjrjr69zqq5hy9a8rp457hcr075n8qm5r5lf6wd")))) (properties `((upstream-name . "AnnotationForge"))) (build-system r-build-system) @@ -5388,13 +5692,13 @@ on Bioconductor or which replace R functions.") (define-public r-biomart (package (name "r-biomart") - (version "2.54.0") + (version "2.54.1") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "0c6agi652kbffqwd1r3c22ncisqaiy3gqbc9fz13767rr71im6lq")))) + "13nhp97cklaimc3cd931hz584nc58szk2gyxrkfhp7knfli6jbpi")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -5653,6 +5957,68 @@ genome data packages and support for efficient SNP representation.") analysis.") (license license:artistic2.0))) +(define-public r-champ + (package + (name "r-champ") + (version "2.28.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "ChAMP" version)) + (sha256 + (base32 + "10ss0a3miqrx92vy1r1h5rv3mnjn4iyl32q86s0x59d3fvqp2cx1")))) + (properties `((upstream-name . "ChAMP"))) + (build-system r-build-system) + (propagated-inputs + (list r-bumphunter + r-champdata + r-combinat + r-dendextend + r-dmrcate + r-dnacopy + r-doparallel + r-dt + r-genomicranges + r-ggplot2 + r-globaltest + r-goseq + r-hmisc + r-illumina450probevariants-db + r-illuminahumanmethylation450kmanifest + r-illuminahumanmethylationepicanno-ilm10b4-hg19 + r-illuminahumanmethylationepicmanifest + r-illuminaio + r-impute + r-isva + r-kpmt + r-limma + r-marray + r-matrixstats + r-minfi + r-missmethyl + r-plotly + r-plyr + r-preprocesscore + r-prettydoc + r-quadprog + r-qvalue + r-rcolorbrewer + r-rmarkdown + r-rpmm + r-shiny + r-shinythemes + r-sva + r-watermelon)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/ChAMP") + (synopsis + "Chip analysis methylation pipeline for Illumina HumanMethylation450 and EPIC") + (description + "The package includes quality control metrics, a selection of +normalization methods and novel methods to identify differentially methylated +regions and to highlight copy number alterations.") + (license license:gpl3))) + (define-public r-chipseeker (package (name "r-chipseeker") @@ -6145,6 +6511,48 @@ other types of genomic data that produce counts, including ChIP-seq, SAGE and CAGE.") (license license:gpl2+))) +(define-public r-enmix + (package + (name "r-enmix") + (version "1.34.02") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "ENmix" version)) + (sha256 + (base32 + "0rn541xfsxfdyzy3dn727bwrfpkgp12282lax7xg1j8584mk4pcf")))) + (properties `((upstream-name . "ENmix"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationhub + r-biobase + r-doparallel + r-dynamictreecut + r-experimenthub + r-foreach + r-genefilter + r-geneplotter + r-gplots + r-gtools + r-illuminaio + r-impute + r-iranges + r-matrixstats + r-minfi + r-preprocesscore + r-quadprog + r-rpmm + r-s4vectors + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/release/bioc/html/ENmix.html") + (synopsis + "Quality control and analysis tools for Illumina DNA methylation BeadChip") + (description + "This package provides tools for quality control, analysis and +visualization of Illumina DNA methylation array data.") + (license license:artistic2.0))) + (define-public r-ensembldb (package (name "r-ensembldb") @@ -6524,6 +6932,30 @@ profiles and assignment of a status (gain, normal or loss) to each chromosomal regions identified.") (license license:gpl2))) +(define-public r-globaltest + (package + (name "r-globaltest") + (version "5.52.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "globaltest" version)) + (sha256 + (base32 + "1g5dv3bw0fj8sq0hsr8c7nh6n1rzvx1bisqlyqjqq3f8lsyb51kb")))) + (properties `((upstream-name . "globaltest"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotate r-annotationdbi r-biobase r-survival)) + (home-page "https://bioconductor.org/packages/globaltest") + (synopsis + "Test groups of covariates for association with a response variable") + (description + "The global test tests groups of covariates (or features) for association +with a response variable. This package implements the test with diagnostic +plots and multiple testing utilities, along with several functions to +facilitate the use of this test for gene set testing of GO and KEGG terms.") + (license license:gpl2+))) + (define-public r-gostats (package (name "r-gostats") @@ -7962,14 +8394,14 @@ the available RAM.") (define-public r-rhdf5filters (package (name "r-rhdf5filters") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5filters" version)) (sha256 (base32 - "17x2a3122mm3z9qnalw25am2x08cfpm17nwhigabid3ha3d2mgz1")))) + "14rkr0fisy7qrvjikpnwxwag79205hdxy6nkpwz501li4fr1rbnp")))) (properties `((upstream-name . "rhdf5filters"))) (build-system r-build-system) (propagated-inputs @@ -8368,6 +8800,33 @@ sequence motif occurrences across a large set of sequences centred at a common reference point and sorted by a user defined feature.") (license license:gpl3+))) +(define-public r-shinymethyl + (package + (name "r-shinymethyl") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "shinyMethyl" version)) + (sha256 + (base32 + "1xbadc4xszcqh211r8z0wp417f17aczz834icli17mcsl996ln3a")))) + (properties `((upstream-name . "shinyMethyl"))) + (build-system r-build-system) + (propagated-inputs + (list r-biocgenerics + r-illuminahumanmethylation450kmanifest + r-matrixstats + r-minfi + r-rcolorbrewer + r-shiny)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/shinyMethyl") + (synopsis "Interactive visualization for Illumina methylation arrays") + (description + "This package provides an interactive tool for visualizing Illumina +methylation array data. Both the 450k and EPIC array are supported.") + (license license:artistic2.0))) + (define-public r-shortread (package (name "r-shortread") @@ -14341,6 +14800,46 @@ gene fusion discovery. It can be applied to all major sequencing techologies and to both short and long sequence reads.") (license license:gpl3))) +(define-public r-flowai + (package + (name "r-flowai") + (version "1.28.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "flowAI" version)) + (sha256 + (base32 + "18zrlnjw89iglxhw65ys8x4r44pdzp5chrgwx7w44sh7yd8576g9")))) + (properties `((upstream-name . "flowAI"))) + (build-system r-build-system) + (propagated-inputs + (list r-changepoint + r-flowcore + r-ggplot2 + r-knitr + r-plyr + r-rcolorbrewer + r-reshape2 + r-rmarkdown + r-scales)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/flowAI") + (synopsis + "Automatic and interactive quality control for flow cytometry data") + (description + "This package is able to perform an automatic or interactive quality +control on FCS data acquired using flow cytometry instruments. By evaluating +three different properties: + +@enumerate +@item flow rate +@item signal acquisition, and +@item dynamic range, +@end enumerate + +the quality control enables the detection and removal of anomalies.") + (license license:gpl2+))) + (define-public r-flowutils (package (name "r-flowutils") @@ -14616,14 +15115,14 @@ statistics to the plot.") (define-public r-flowclust (package (name "r-flowclust") - (version "3.36.0") + (version "3.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "flowClust" version)) (sha256 (base32 - "1l1lfgm6x06gyzda36m6gvqmb91zbrz8m83b1fnfzpxkhqha20yq")))) + "1r27nm5dxlhl5rk96dkjfx8326bvdgx55xg4w2zji3m49x9db2gs")))) (properties `((upstream-name . "flowClust"))) (build-system r-build-system) (arguments @@ -19518,14 +20017,14 @@ using aCGH or sequencing.") (define-public r-bionero (package (name "r-bionero") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BioNERO" version)) (sha256 (base32 - "10nwgp8a9chn33p5k7cdp920rraiw187xfrylyd9bq010c7vp7xh")))) + "0ijdnl43cgzywgsz80jd6q0irixh6367qm1ll5ww1rcr4xas2nsl")))) (properties `((upstream-name . "BioNERO"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fda01e00ca..f7adca0860 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13991,6 +13991,85 @@ cells with similar identification cards in the different cytometric profiles is then merged.") (license license:gpl2)))) +(define-public r-cytoexplorer + (let ((commit "0efb1cc19fc701ae03905cf1b8484c1dfeb387df") + (revision "1")) + (package + (name "r-cytoexplorer") + (version (git-version "1.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DillonHammill/CytoExploreR") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y7dadsy15i47rjmdq6ns80jzm6p0zmixll37q68ba2c7xn5pq3v")) + (snippet + '(delete-file + "docs/articles/CytoExploreR_files/vis-4.20.1/vis.min.js")))) + (properties `((upstream-name . "CytoExploreR"))) + (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/articles/CytoExploreR_files/" + (let ((source (search-input-file inputs "/dist/vis.js")) + (target "vis-4.20.1/vis.min.js")) + (invoke "esbuild" source "--minify" + (string-append "--outfile=" target))))))))) + (propagated-inputs + (list r-biocgenerics + r-bslib + r-data-table + r-dplyr + r-embedsom + r-flowai + r-flowcore + r-flowworkspace + r-gtools + r-magrittr + r-mass + r-opencyto + r-purrr + r-rhandsontable + r-robustbase + r-rsvd + r-rtsne + r-shiny + r-superheat + r-tibble + r-tidyr + r-umap + r-visnetwork)) + (native-inputs + `(("esbuild" ,esbuild) + ("r-knitr" ,r-knitr) + ("js-vis" + ,(let ((version "4.20.1")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/almende/vis") + (commit (string-append "v" version)))) + (file-name (git-file-name "js-vis" version)) + (sha256 + (base32 + "09ldcqzzki5c0jlwas5992qjffqxnx6j5sl703qccfw7rg1hn469"))))))) + (home-page "https://github.com/DillonHammill/CytoExploreR") + (synopsis "Interactive analysis of cytometry data") + (description + "This package has been developed under ROpenSci gudelines to integrate +conventional and cutting edge cytometry analysis tools under a unified +framework. It aims to represent an intuitive and interactive approach to +analysing cytometry data in R.") + (license license:gpl2)))) + (define-public r-giotto (let ((commit "3c8067cedbf6e3112edcac2ae796de05fd9d6fe4") (revision "1")) @@ -14049,6 +14128,60 @@ is then merged.") spatial single-cell expression data.") (license license:expat)))) +(define-public r-illuminahumanmethylationepicanno-ilm10b5-hg38 + (let ((commit "3db06910e27f626e0cc8b335ff45cf9a4050a36a") + (revision "1")) + (package + (name "r-illuminahumanmethylationepicanno-ilm10b5-hg38") + (version (git-version "0.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/achilleasNP/IlluminaHumanMethylationEPICanno.ilm10b5.hg38") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y8fhiwmkldi57f8nq64njfgljw68cm6pb1vh44hjwcc12k48sqr")))) + (properties `((upstream-name . "IlluminaHumanMethylationEPICanno.ilm10b5.hg38"))) + (build-system r-build-system) + (propagated-inputs (list r-minfi)) + (home-page + "https://github.com/achilleasNP/IlluminaHumanMethylationEPICanno.ilm10b5.hg38") + (synopsis "Illumina Human Methylation EPIC Annotation version 1.0B5") + (description + "This package provides a companion annotation file to the +@code{IlluminaHumanMethylationEPICmanifest} package based on the same +annotation 1.0B5.") + (license license:artistic2.0)))) + +(define-public r-maxprobes + (let ((commit "c2120dba972e12115280ef274ff80550cee5b264") + (revision "1")) + (package + (name "r-maxprobes") + (version (git-version "0.0.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/markgene/maxprobes") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kij9bds2l9mwm519bzyd2608563qjlmbrayhva1s0vgml5iq9wh")))) + (properties `((upstream-name . "maxprobes"))) + (build-system r-build-system) + (propagated-inputs (list r-minfi r-minfidata)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/markgene/maxprobes") + (synopsis "Methylation array cross-reactive probes") + (description + "The Maxprobes package collects cross-reactive probes of Illumina +methylation array 450K and EPIC/850K.") + (license license:gpl2+)))) + (define-public gffread ;; We cannot use the tagged release because it is not in sync with gclib. ;; See https://github.com/gpertea/gffread/issues/26 diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index cfa604127b..631aac7db7 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1322,11 +1322,14 @@ and many external plugins.") "0f8c31v5r2kgjixvy267n0nhc4xsy65g3n9lz1i1377z5pn5ydjg")))) (arguments (substitute-keyword-arguments (package-arguments python-pytest) - ((#:phases phases #~%standard-phases) + ((#:phases phases #~%standard-phases) #~(modify-phases #$phases (add-before 'build 'pretend-version (lambda _ - (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))))) + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))) + (propagated-inputs + (modify-inputs (package-propagated-inputs python-pytest) + (replace "python-pluggy" python-pluggy-next))))) (define-public python-pytest-bootstrap (package diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e88d893517..f2bdd750ca 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -428,14 +428,14 @@ etc.") (define-public r-datawizard (package (name "r-datawizard") - (version "0.6.5") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "datawizard" version)) (sha256 (base32 - "0il98vmy8l4wrisqz9xli7iki2ajdlsxyhh4k4grrd28gzkj8lgb")))) + "19bihl1nxd11gxwz3m71dprs3ykwp96pz24b38w6i6azin82apy0")))) (properties `((upstream-name . "datawizard"))) (build-system r-build-system) (propagated-inputs @@ -592,6 +592,35 @@ edition of the book \"Data Mining with R, learning with case studies\" by Luis Torgo, published by CRC Press.") (license license:gpl2+))) +(define-public r-embedsom + (package + (name "r-embedsom") + (version "2.1.2") + (source (origin + (method url-fetch) + (uri (cran-uri "EmbedSOM" version)) + (sha256 + (base32 + "0k4hja5y7qd0n3gfaxzxrz4wpxc1w9d4d4xbb63rq2nfk3lj7a42")))) + (properties `((upstream-name . "EmbedSOM"))) + (build-system r-build-system) + (propagated-inputs + (list r-fnn + r-ggplot2 + r-igraph + r-matrix + r-rtsne + r-umap + r-uwot)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/exaexa/EmbedSOM") + (synopsis "Fast embedding guided by self-organizing map") + (description + "This package provides a smooth mapping of multidimensional points into +low-dimensional space defined by a self-organizing map. It is designed to +work with FlowSOM and flow-cytometry use-cases.") + (license license:gpl3+))) + (define-public r-emdist (package (name "r-emdist") @@ -708,14 +737,14 @@ such as counts or binary matrices.") (define-public r-googledrive (package (name "r-googledrive") - (version "2.0.0") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "googledrive" version)) (sha256 (base32 - "09jsiknzyfgxd0nzdr3wrrjw24allch2x74h96qg8vh8dad4cp30")))) + "0x2biilbphh77p7cxp2cvinjx45hnb5xksw775nwksqvpwxkaw0d")))) (properties `((upstream-name . "googledrive"))) (build-system r-build-system) (propagated-inputs @@ -943,14 +972,14 @@ pronounceable identifiers.") (define-public r-googlesheets4 (package (name "r-googlesheets4") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "googlesheets4" version)) (sha256 (base32 - "14b5lzn6vjn72mw7vf3lzm2ppbjf0wr0n6sw0v5r6h4lk37cnki8")))) + "1jcfih6f62phj7fdvknkkj46s9cvsnhshvkglg6xif7mpr1mbqah")))) (properties `((upstream-name . "googlesheets4"))) (build-system r-build-system) (propagated-inputs @@ -962,12 +991,14 @@ pronounceable identifiers.") r-googledrive r-httr r-ids + r-lifecycle r-magrittr r-purrr r-rematch2 r-rlang r-tibble - r-vctrs)) + r-vctrs + r-withr)) (home-page "https://github.com/tidyverse/googlesheets4") (synopsis "Access Google Sheets using the Sheets API V4") (description @@ -996,6 +1027,71 @@ matrix decomposition, sparse principal components analysis, and sparse canonical correlation analysis.") (license license:gpl2+))) +(define-public r-prettydoc + (package + (name "r-prettydoc") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (cran-uri "prettydoc" version)) + (sha256 + (base32 + "0aa89jnqhz0l69inrgm1f1riq5bm3ksb8wjl8d4x2f320adsd50h")) + (snippet + '(for-each delete-file + '("inst/resources/js/auto-render.min.js" + "inst/resources/js/katex.min.js"))))) + (properties `((upstream-name . "prettydoc"))) + (build-system r-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build r-build-system) + (srfi srfi-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/resources/js/" + (call-with-values + (lambda () + (unzip2 + `((,(search-input-file inputs "dist/katex.js") + "katex.min.js") + (,(search-input-file inputs "dist/contrib/auto-render.js") + "auto-render.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #true "Processing ~a --> ~a~%" + source target) + (invoke "esbuild" source "--minify" + (string-append "--outfile=" target))) + sources targets))))))))) + (inputs (list pandoc)) + (propagated-inputs (list r-rmarkdown)) + (native-inputs + (list esbuild + r-knitr + r-rmarkdown + (let ((version "0.12.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KaTeX/KaTeX") + (commit (string-append "v" version)))) + (file-name (git-file-name "js-katex" version)) + (sha256 + (base32 + "0pdfw28affnfpqpnf244acf5rkxdy2gk63669myy7ysg4z0i1n8j")))))) + (home-page "https://github.com/yixuan/prettydoc") + (synopsis "Create pretty documents from R markdown") + (description + "This is a package for creating tiny yet beautiful documents and +vignettes from R Markdown. The package provides the @code{html_pretty} output +format as an alternative to the @code{html_document} and @code{html_vignette} +engines that convert R Markdown into HTML pages. Various themes and syntax +highlight styles are supported.") + (license license:asl2.0))) + (define-public r-proj4 (package (name "r-proj4") @@ -1046,6 +1142,33 @@ Functions include searching for people, searching by DOI, or searching by Orcid ID.") (license license:expat))) +(define-public r-ruv + (package + (name "r-ruv") + (version "0.9.7.1") + (source (origin + (method url-fetch) + (uri (cran-uri "ruv" version)) + (sha256 + (base32 + "1n4q9mrp9f644spbns6bbnzmlabrg90hwkdfg3hnm3rxp9b4xid0")))) + (properties `((upstream-name . "ruv"))) + (build-system r-build-system) + (propagated-inputs (list r-ggplot2 r-gridextra r-scales)) + (home-page "https://cran.r-project.org/web/packages/ruv/index.html") + (synopsis "Detect and remove unwanted variation using negative controls") + (description + "This package implements the RUV (Remove Unwanted Variation) algorithms. +These algorithms attempt to adjust for systematic errors of unknown origin in +high-dimensional data. The algorithms were originally developed for use with +genomic data, especially microarray data, but may be useful with other types +of high-dimensional data as well. The algorithms require the user to specify +a set of negative control variables, as described in the references. The +algorithms included in this package are RUV-2, RUV-4, RUV-inv, RUV-rinv, +RUV-I, and RUV-III, along with various supporting algorithms.") + ;; Any version of the GPL. + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-waldo (package (name "r-waldo") @@ -3075,14 +3198,14 @@ model fitting and error handling.") (define-public r-modelr (package (name "r-modelr") - (version "0.1.10") + (version "0.1.11") (source (origin (method url-fetch) (uri (cran-uri "modelr" version)) (sha256 (base32 - "0qqgdb7gpb1h9lf5zijg51gd0qmbzj8f37aykhv1w633cglacick")))) + "1lvv6gac3g4x1d58chbvlxlkd77qz21a3rlb64jvzwycx43dbswl")))) (build-system r-build-system) (propagated-inputs (list r-broom @@ -3246,6 +3369,29 @@ re-imagining of @code{httr} that uses a pipe-based interface and solves more of the problems that API wrapping packages face.") (license license:expat))) +(define-public r-jade + (package + (name "r-jade") + (version "2.0-3") + (source (origin + (method url-fetch) + (uri (cran-uri "JADE" version)) + (sha256 + (base32 + "1fj2wawx5ac1fvlp28naqha0i17f1sb47j2qqzgccvx17ycqmmjn")))) + (properties `((upstream-name . "JADE"))) + (build-system r-build-system) + (propagated-inputs (list r-clue)) + (home-page "https://cran.r-project.org/package=JADE") + (synopsis "Blind source separation methods") + (description + "In this package Cardoso's JADE algorithm as well as his functions for +joint diagonalization are ported to R. Also several other @dfn{blind source +separation} (BSS) methods, like AMUSE and SOBI, and some criteria for +performance evaluation of BSS algorithms, are given. The package is described +in Miettinen, Nordhausen and Taskinen (2017) <doi:10.18637/jss.v076.i02>.") + (license license:gpl2+))) + (define-public r-jsonify (package (name "r-jsonify") @@ -3341,13 +3487,13 @@ a list of p-values.") (define-public r-htmltools (package (name "r-htmltools") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) (uri (cran-uri "htmltools" version)) (sha256 (base32 - "0zij9zrgsi82q5c65sf4pbidnzrkfr763g0n4ypdhf8dd6l2i0h0")))) + "0nb6y99ffgj482clgnqbkhraxigr1ynpqv3d1znwd2ashnmkzcn8")))) (build-system r-build-system) (propagated-inputs (list r-base64enc r-digest r-ellipsis r-fastmap r-rlang)) @@ -4478,14 +4624,14 @@ contained in the navigation bar.") (define-public r-spelling (package (name "r-spelling") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) (uri (cran-uri "spelling" version)) (sha256 (base32 - "179nj9w1v27qq9q5240ddvggp0795998sxyqjvbqjvq9dmach3bl")))) + "0vr5mgw9grnsnzsc29al72p05z786hnd6b9c6wq0c0dabk5szm2g")))) (properties `((upstream-name . "spelling"))) (build-system r-build-system) (propagated-inputs @@ -5119,13 +5265,13 @@ print, summary, plot, update, etc. (define-public r-ps (package (name "r-ps") - (version "1.7.2") + (version "1.7.3") (source (origin (method url-fetch) (uri (cran-uri "ps" version)) (sha256 - (base32 "06mjwsn074195vd4yv7zzkmcf3sc124cw0cbnddj86swvggfn9cj")))) + (base32 "15wnn0wi253d3pmz0d98l4i6cn59d1h229g8valhh5arabn45b1v")))) (build-system r-build-system) (home-page "https://ps.r-lib.org") (synopsis "List, query, and manipulate system processes") @@ -5523,13 +5669,13 @@ multi-dimensional data.") (define-public r-ctrdata (package (name "r-ctrdata") - (version "1.11.1") + (version "1.12.1") (source (origin (method url-fetch) (uri (cran-uri "ctrdata" version)) (sha256 (base32 - "076v3bll8s6m61wcbwgrgrm34g0wa7gsc90mbwxwap1xfxyzjjsg")))) + "1m12vjwvzrwwb4d513vk171r25ww92qqv7rd2c3srmwzfi9ngy74")))) (properties `((upstream-name . "ctrdata"))) (build-system r-build-system) (propagated-inputs @@ -5537,6 +5683,7 @@ multi-dimensional data.") r-curl r-dplyr r-httr + r-jqr r-jsonlite r-lubridate r-nodbi @@ -5672,14 +5819,14 @@ rows, dropping names) to see if the modified versions are identical.") (define-public r-dendextend (package (name "r-dendextend") - (version "1.16.0") + (version "1.17.1") (source (origin (method url-fetch) (uri (cran-uri "dendextend" version)) (sha256 (base32 - "0rl4f0b73s1gdjfxgpnz87lhv131qazxb6vsv2935ad266fd0bzc")))) + "08g5z5qyrn2nkw1jw5520sval4jf9l6invqwvzsv8dkjkq8nxsc7")))) (build-system r-build-system) (propagated-inputs (list r-ggplot2 r-magrittr r-viridis)) @@ -6631,6 +6778,26 @@ hypergeometric distributions. In addition two random number generators of George Marsaglia are included.") (license license:gpl2+))) +(define-public r-kpmt + (package + (name "r-kpmt") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "kpmt" version)) + (sha256 + (base32 + "15d26khc0v3kc1c7l1avqp48pfqmc6xj32029mv7myivr41ashk3")))) + (properties `((upstream-name . "kpmt"))) + (build-system r-build-system) + (propagated-inputs (list r-matrixstats)) + (home-page "https://cran.r-project.org/package=kpmt") + (synopsis "Known population median test") + (description + "This package provides functions that implement the known population +median test.") + (license license:expat))) + (define-public r-ksamples (package (name "r-ksamples") @@ -6985,6 +7152,28 @@ is being phased out. A modern MySQL client based on Rcpp is available from the RMariaDB package.") (license license:gpl2))) +(define-public r-rpmm + (package + (name "r-rpmm") + (version "1.25") + (source (origin + (method url-fetch) + (uri (cran-uri "RPMM" version)) + (sha256 + (base32 + "1j48dh434wfhfzka0l21w6f73qlwfm70r9gdddhn504i2d5m4jph")))) + (properties `((upstream-name . "RPMM"))) + (build-system r-build-system) + (propagated-inputs (list r-cluster)) + (home-page "https://cran.r-project.org/package=RPMM") + (synopsis "Recursively partitioned mixture model") + (description + "This package provides a recursively partitioned mixture model for Beta +and Gaussian mixtures. This is a model-based clustering algorithm that +returns a hierarchy of classes, similar to hierarchical clustering, but also +similar to finite mixture models.") + (license license:gpl2+))) + (define-public r-rpostgresql (package (name "r-rpostgresql") @@ -7611,14 +7800,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.") (define-public r-jomo (package (name "r-jomo") - (version "2.7-4") + (version "2.7-5") (source (origin (method url-fetch) (uri (cran-uri "jomo" version)) (sha256 (base32 - "1zck7p872k080hyfs0hibq7v13zmsry1jdlnq7k33ff1iljbq99d")))) + "05xfkj65nqd987pp5bhl4jy46qxwjll5mxnjii6qrmfmjld177q5")))) (build-system r-build-system) (propagated-inputs (list r-lme4 r-mass r-ordinal r-survival r-tibble)) @@ -7814,13 +8003,13 @@ and density estimation") (define-public r-smurf (package (name "r-smurf") - (version "1.1.4") + (version "1.1.5") (source (origin (method url-fetch) (uri (cran-uri "smurf" version)) (sha256 (base32 - "09a56ayqnnal1h5xxnh4pcn0zyi1kg2fj40y872n4jcnbl8xcvbi")))) + "1gpzzj67x0i70vw1x4rv56mhk2b74ynvdsy93rzmdk6b2h3dvv46")))) (properties `((upstream-name . "smurf"))) (build-system r-build-system) (propagated-inputs @@ -7831,8 +8020,7 @@ and density estimation") r-mgcv r-rcolorbrewer r-rcpp - r-rcpparmadillo - r-speedglm)) + r-rcpparmadillo)) (native-inputs (list r-knitr)) (home-page "https://gitlab.com/TReynkens/smurf") (synopsis "Sparse multi-type regularized feature modeling") @@ -8230,14 +8418,14 @@ multivariate function estimation using smoothing splines.") (define-public r-cli (package (name "r-cli") - (version "3.6.0") + (version "3.6.1") (source (origin (method url-fetch) (uri (cran-uri "cli" version)) (sha256 (base32 - "15mqi8cacj7x588f1a7x805lwqbga2ha62k79qyxahrhh0qq21xn")))) + "0djyl08k7nhlbzgnfx7gq8w00s7c9f66bd11bvi9lzz6qz70cc5y")))) (build-system r-build-system) (home-page "https://github.com/r-lib/cli#readme") (synopsis "Helpers for developing command line interfaces") @@ -8504,13 +8692,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.37") + (version "0.38") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "1yg1b21nwpnggb498z0j3lp11w6fwni7q7rd88fnm8xfnbq9yq9v")))) + (base32 "12n60c18rgg65qxnlp4sv6q9zryiz146844ayd28kipnjpwc4457")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -8591,14 +8779,14 @@ estimated from a given sample.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "0mwp56s87bdrg5xr4mnjr0qrdsq18dmfs3d640qkbbka9qn722xy")))) + "10qjirgdq0bn2s84vqx5c78i85mdp5mxwdfn30kayh3wpmij8mbp")))) (build-system r-build-system) (propagated-inputs (list r-cli r-glue r-lifecycle r-rlang)) @@ -8630,14 +8818,14 @@ estimated from a given sample.") (define-public r-pillar (package (name "r-pillar") - (version "1.8.1") + (version "1.9.0") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "1v47dm2v4nlswd1gmgcx5c7yrgn1ksdfr9lqkc63jf2nkv6af1ig")))) + "1k3sp37dpn46d2xbq621alpvzgnm06x5qb87nk169y47q23b8gpj")))) (build-system r-build-system) (propagated-inputs (list r-cli @@ -9549,14 +9737,14 @@ interface.") (define-public r-trend (package (name "r-trend") - (version "1.1.4") + (version "1.1.5") (source (origin (method url-fetch) (uri (cran-uri "trend" version)) (sha256 (base32 - "1mr5g5gaxiqj6x83ngcbwwh57vhrhcz0x9dh0rmvs9y2ivk29ccs")))) + "12xswr925jjbkdccjiigkr6a44jmgvzwvnizciv6rr3mnklv6n66")))) (build-system r-build-system) (propagated-inputs (list r-extradistr)) @@ -10170,13 +10358,13 @@ It also includes interpolation functions.") (define-public r-simplermarkdown (package (name "r-simplermarkdown") - (version "0.0.4") + (version "0.0.6") (source (origin (method url-fetch) (uri (cran-uri "simplermarkdown" version)) (sha256 - (base32 "069pgx5m22rdqa21lyn5zqm9ym3g7w6z1d2wjwms8b1f2cp6266g")))) + (base32 "0lffwsrhsdqcqhklh24v0y0x6w4vq9jch93m330kfdv2amab1l06")))) (properties `((upstream-name . "simplermarkdown"))) (build-system r-build-system) (propagated-inputs @@ -10552,14 +10740,14 @@ used.") (define-public r-arules (package (name "r-arules") - (version "1.7-5") + (version "1.7-6") (source (origin (method url-fetch) (uri (cran-uri "arules" version)) (sha256 (base32 - "0d04w28hl9gcrvkj0v0q77x4a89jhvzf1imw58xfgncap8mc6555")))) + "0syrbh85vzhp9plm95dhq6pfanzbxqm4wcahw3y2d26gvi2nmzwm")))) (build-system r-build-system) (propagated-inputs (list r-generics r-matrix)) @@ -11028,19 +11216,18 @@ finance, conversion from and to JSON, and many other applications.") (define-public r-dtplyr (package (name "r-dtplyr") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "dtplyr" version)) (sha256 (base32 - "1y40yrfdw1wbx7jqmql69yi3q52lzjpqgr4jwnhjr33hw6kxvg0v")))) + "1rfnr1f3dzzivzmw9jjaclckkany6c625bqr8lkx32qbcjd6iad5")))) (properties `((upstream-name . "dtplyr"))) (build-system r-build-system) (propagated-inputs (list r-cli - r-crayon r-data-table r-dplyr r-glue @@ -11606,14 +11793,14 @@ publication-ready plots.") (define-public r-ellipse (package (name "r-ellipse") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "ellipse" version)) (sha256 (base32 - "0im9d36dixpksms52v6nsb3l0z2c7wc25r9j0f08naj6qc8jpvq2")))) + "1r4srqgpzh4r0cryc74gjcfwj0j54ibzh325bi31aa9dwi9dw03z")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/ellipse/") (synopsis "Functions for drawing ellipses and ellipse-like confidence regions") @@ -11650,14 +11837,14 @@ clustering.") (define-public r-factominer (package (name "r-factominer") - (version "2.7") + (version "2.8") (source (origin (method url-fetch) (uri (cran-uri "FactoMineR" version)) (sha256 (base32 - "03952kcnwrm61kn5im55ky1j91nm5x4i4f5gs115li6gck63xf17")))) + "0lgqbw7534wadkdv7zh1y5nanl72jys070qydznmaj2cmvvqd460")))) (properties `((upstream-name . "FactoMineR"))) (build-system r-build-system) (propagated-inputs @@ -11995,14 +12182,14 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "19sn36aaxr2bmxm8lrs1vqmc4fc1gfwarp418pn09jk105ckykh8")))) + "0dfk1didy5lfh07chqfwlrdlrib7a5na65rb71ipnxlhbiwbaj09")))) (build-system r-build-system) (propagated-inputs (list r-openssl r-r6 r-ragg r-uuid r-xml2 r-zip)) @@ -12317,13 +12504,13 @@ tidyverse workflow.") (define-public r-nodbi (package (name "r-nodbi") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (cran-uri "nodbi" version)) (sha256 (base32 - "1hn0wy2ry9l3wwqrshmf82cxigkm16wycwprv458bcvb5k6ayy5m")))) + "167zhlyl0crn24zyw9rz9spa5xh8nxpzl94vqsk02r849n4qvzx9")))) (properties `((upstream-name . "nodbi"))) (build-system r-build-system) (propagated-inputs @@ -13189,13 +13376,13 @@ ABC algorithms.") (define-public r-abctools (package (name "r-abctools") - (version "1.1.4") + (version "1.1.6") (source (origin (method url-fetch) (uri (cran-uri "abctools" version)) (sha256 - (base32 "02c473fqj7yd27flma2x7flqzqbrnba2xfcjy466nww0sm1vvhjg")))) + (base32 "0yxmj28ym8919l27m04yjyc7mya1iy5ap4p980grsh7m4cgpx3bh")))) (build-system r-build-system) (propagated-inputs (list r-abc r-abind r-hmisc r-plyr)) @@ -13283,14 +13470,14 @@ repeated measures data, respectively.") (define-public r-gam (package (name "r-gam") - (version "1.22-1") + (version "1.22-2") (source (origin (method url-fetch) (uri (cran-uri "gam" version)) (sha256 (base32 - "1h84klxs7wbksn9hsqdspmska9q5pmy6q71fmwm4bcmdrqixr8gv")))) + "1yh2rahcbi2fbsi1yps1l51xxljc7lcs7h729y5vjj4l492pywzy")))) (properties `((upstream-name . "gam"))) (build-system r-build-system) (propagated-inputs @@ -13358,14 +13545,14 @@ both to consistency and asymptotic normality.") (define-public r-dofuture (package (name "r-dofuture") - (version "0.12.2") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "doFuture" version)) (sha256 (base32 - "0w07pmzpsfq4kvfc745s1i9b6dfn1df1wrfi4s9ys4ir3g2s8nk1")))) + "1pxwpfmxswbsd1f2ifj9kdq9hi9q0x2wwv2kv0xq178ymmywi2sz")))) (properties `((upstream-name . "doFuture"))) (build-system r-build-system) (arguments @@ -13374,7 +13561,7 @@ both to consistency and asymptotic normality.") (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" "/tmp")))))) (propagated-inputs - (list r-foreach r-future r-globals r-iterators)) + (list r-foreach r-future r-future-apply r-globals r-iterators)) (native-inputs (list r-r-rsp)) ; vignette builder (home-page "https://github.com/HenrikBengtsson/doFuture") @@ -14754,14 +14941,14 @@ Bayesian modeling.") (define-public r-tmb (package (name "r-tmb") - (version "1.9.2") + (version "1.9.3") (source (origin (method url-fetch) (uri (cran-uri "TMB" version)) (sha256 (base32 - "0kz5a3y6xcqz2ycxq6ff3jasc2hkvq2rxnpr618nng7k9gljc504")))) + "10cl88v3jdjv0sacfvk1g9y7sl918rxlyk9ddy2d1y7055j8y0qg")))) (properties `((upstream-name . "TMB"))) (build-system r-build-system) (propagated-inputs @@ -16009,22 +16196,39 @@ netCDF files.") Bioconductor packages.") (license license:artistic2.0))) +;; TODO: one more minified JavaScript files is included that should be built +;; from the included .src.js files, but it is not entirely clear how. The +;; file is inst/htmlwidgets/lib/rglClass/rglClass.min.js. (define-public r-rgl (package (name "r-rgl") - (version "1.0.1") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "1j1g1b1j6azhg944ddzzrxgynb2bfl14l5qz58n4mhvxrbx018w9")))) + "1blasg60x38z57ds6x7yb4rvjx21yf4s99q93sl1w9h6mg14d8jg")) + (snippet + '(delete-file "inst/htmlwidgets/lib/CanvasMatrix/CanvasMatrix.min.js")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/htmlwidgets/lib/" + (let ((source "CanvasMatrix/CanvasMatrix.src.js") + (target "CanvasMatrix/CanvasMatrix.min.js")) + (invoke "esbuild" source "--minify" + (string-append "--outfile=" target))))))))) (native-inputs - (list pkg-config + (list esbuild + pkg-config r-knitr - r-rmarkdown)) ;for vignettes + r-rmarkdown)) ;for vignettes (inputs (list freetype libpng @@ -16077,13 +16281,13 @@ to colexicographical order.") (define-public r-multidplyr (package (name "r-multidplyr") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (cran-uri "multidplyr" version)) (sha256 (base32 - "081x9n46dl6vpp5q6pilw3w5wpdi3r9kwi9n6h4k2p2iqg1s96lb")))) + "18yl24s1g8wf3xi6f0k7jhs99ka4dslxf5p9ax9m5l1rbva5xdwj")))) (properties `((upstream-name . "multidplyr"))) (build-system r-build-system) (propagated-inputs @@ -18972,14 +19176,14 @@ them in distributed compute environments.") (define-public r-parallelly (package (name "r-parallelly") - (version "1.34.0") + (version "1.35.0") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "1x5gk008813i9c2i7qdhpmlbq2xdgv5q47xcmc6lb8p475q9sqqi")))) + "1kaxmmkwjxnympxsyphwfdba6nmp4jszhrsy5h2snshr0xjrnpiz")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") @@ -24342,15 +24546,48 @@ function and interfaces to external frameworks.") (define-public r-covr (package (name "r-covr") - (version "3.6.1") + (version "3.6.2") (source (origin (method url-fetch) (uri (cran-uri "covr" version)) (sha256 - (base32 "0mqiqmbwq5f083lda208nqd4ya0f912bkkya2i62fkqsii1ibgpz")))) + (base32 "0ns8xbq1l21mg8p2aiqv5h306a3vpn64j6jrgzbv8iv1a7kqrrmc")) + (modules '((guix build utils))) + (snippet + '(with-directory-excursion "inst/www/shared" + (for-each delete-file + '("bootstrap/js/bootstrap.min.js" + "bootstrap/shim/html5shiv.min.js" + "bootstrap/shim/respond.min.js")))))) (properties `((upstream-name . "covr"))) (build-system r-build-system) + (arguments + (list + #:modules '((guix build utils) + (guix build r-build-system) + (srfi srfi-1)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/www/shared" + (call-with-values + (lambda () + (unzip2 + `((,(search-input-file inputs "/dist/js/bootstrap.js") + "bootstrap/js/bootstrap.min.js") + (,(search-input-file inputs "/dist/html5shiv.js") + "bootstrap/shim/html5shiv.min.js") + (,(search-input-file inputs "/dest/respond.src.js") + "bootstrap/shim/respond.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #true "Processing ~a --> ~a~%" + source target) + (invoke "esbuild" source "--minify" + (string-append "--outfile=" target))) + sources targets))))))))) (propagated-inputs (list r-crayon r-digest @@ -24360,7 +24597,38 @@ function and interfaces to external frameworks.") r-withr r-yaml)) (native-inputs - (list r-knitr)) ; for vignettes + (list esbuild + r-knitr ;for vignettes + (let ((version "3.3.5")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twbs/bootstrap") + (commit (string-append "v" version)))) + (file-name (git-file-name "js-bootstrap" version)) + (sha256 + (base32 + "1zxrjhnnd594rflnwzqhbx3rx0gjlh6hgx9v2nppgkmrkqb7y1a4")))) + (let ((version "3.7.2")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aFarkas/html5shiv") + (commit version))) + (file-name (git-file-name "js-html5shiv" version)) + (sha256 + (base32 + "0mw4bbl9a9d1ibywscjgmbky0jkj4081l1yd4x3ss0flwaa3fwsk")))) + (let ((version "1.4.2")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/scottjehl/Respond") + (commit version))) + (file-name (git-file-name "js-respond" version)) + (sha256 + (base32 + "00xid731rirc7sdy1gc8qal3v9g0agr2qx15hm4x97l1lcbylyn2")))))) (home-page "https://github.com/r-lib/covr") (synopsis "Test coverage for R packages") (description @@ -27212,14 +27480,14 @@ number embedded in the file rather than the file extension.") (define-public r-imager (package (name "r-imager") - (version "0.42.18") + (version "0.42.19") (source (origin (method url-fetch) (uri (cran-uri "imager" version)) (sha256 (base32 - "0ljkcvs91sjddndwdbaqg0nf9sksm0284s6kg05k027wnvbkc5f1")))) + "1qp1190cb7pssl22vakd8z8zvj6mmhrn7jk6wkjyrv28lv5vqyhq")))) (properties `((upstream-name . "imager"))) (build-system r-build-system) (inputs @@ -27272,14 +27540,14 @@ it may be seen by an animal with less acute vision.") (define-public r-caret (package (name "r-caret") - (version "6.0-93") + (version "6.0-94") (source (origin (method url-fetch) (uri (cran-uri "caret" version)) (sha256 (base32 - "01sa1h9pc3a062pwm0rxadvg9qxszwcylya7llv08fcxhy46n5ac")))) + "1a191n9qswvf8ri6id8picqgdqx15l6mp996v6f77fv0l8yfh597")))) (build-system r-build-system) (propagated-inputs (list r-e1071 @@ -29608,14 +29876,14 @@ using the @code{rstan} and @code{rstanarm} packages).") (define-public r-rstantools (package (name "r-rstantools") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (cran-uri "rstantools" version)) (sha256 (base32 - "0bc22fxpw4xvdxx8716wbasw8rpkpipb428cv764s8c0mkk2szlk")))) + "0xb9rb6nlqsqxi08hx9iwqpfz6ssdmh6axyk7d399j7zhklg5m42")))) (properties `((upstream-name . "rstantools"))) (build-system r-build-system) (inputs (list pandoc)) @@ -29817,14 +30085,14 @@ Additional storage back-ends can be added easily.") (define-public r-zyp (package (name "r-zyp") - (version "0.11") + (version "0.11-1") (source (origin (method url-fetch) (uri (cran-uri "zyp" version)) (sha256 (base32 - "0jmddxg88qb9f38ywdy4min7w5qadnkhqxd46b0j0gjsq95vw85q")))) + "0gqds43ivbsi4770nxj5sf4mp51m410svnap0v1rh8vlk3gkb3l9")))) (properties `((upstream-name . "zyp"))) (build-system r-build-system) (propagated-inputs @@ -29841,13 +30109,13 @@ climate data.") (define-public r-rlecuyer (package (name "r-rlecuyer") - (version "0.3-5") + (version "0.3-7") (source (origin (method url-fetch) (uri (cran-uri "rlecuyer" version)) (sha256 (base32 - "09mniai7v8gapr6hd3zm8sm3vi1zcyhgym389904ykb2yx7l68s7")))) + "0g5z26wsbv3wzrc3gl1z97qxdk5m2pvfg3f5zqkz98wzh1z49b35")))) (properties `((upstream-name . "rlecuyer"))) (build-system r-build-system) (home-page @@ -30693,14 +30961,14 @@ vignette for more information and examples.") (define-public r-distributional (package (name "r-distributional") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "distributional" version)) (sha256 (base32 - "0pr34yq6igb7ciqss2ldwa7gc55xvla040x8rkd8m2hcrz5mczkj")))) + "1y08s301mxz7c54lxa1j0zzbsrgphxv5hsyam3jswcw274rxd0y8")))) (properties `((upstream-name . "distributional"))) (build-system r-build-system) @@ -31027,18 +31295,18 @@ counting and recursive k-means partitioning.") (define-public r-hardhat (package (name "r-hardhat") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "hardhat" version)) (sha256 (base32 - "0y5dxpd4gsrs365x1v4qf2vq7hq2qb6f6x50dyj29xmmn760wcpr")))) + "0bp83yw7j34iwir2f73ainic11cdz0q18m5v1kbx8vdsw84z17zy")))) (properties `((upstream-name . "hardhat"))) (build-system r-build-system) (propagated-inputs - (list r-glue r-rlang r-tibble r-vctrs)) + (list r-cli r-glue r-rlang r-tibble r-vctrs)) (native-inputs (list r-knitr)) (home-page "https://github.com/tidymodels/hardhat") @@ -34256,13 +34524,13 @@ package also supersedes the package @code{BBmisc}.") (define-public r-mlr3pipelines (package (name "r-mlr3pipelines") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "mlr3pipelines" version)) (sha256 (base32 - "09pk3dwjcg5rbpwa1k21srdpvf2dlxq4b5p71cvkha85jx2gdgh6")))) + "1ycrm4i0k38mkw1r1a5sxp761wdz3p0q72xz6qqg3qsyva4ba0wz")))) (build-system r-build-system) (propagated-inputs (list r-backports @@ -38068,13 +38336,13 @@ supports @command{sf} and @command{stars}.") (define-public r-automap (package (name "r-automap") - (version "1.1-1") + (version "1.1-9") (source (origin (method url-fetch) (uri (cran-uri "automap" version)) (sha256 (base32 - "11l6iygq66jg11lilwjmf7l250dcvhilx6zv2lm746rjzchwga0s")))) + "0hrsdynjxv0n5n1pbdk05rgrcwfd0g5p9pgdbicx4ljk73nhl1zk")))) (properties `((upstream-name . "automap"))) (build-system r-build-system) (propagated-inputs (list r-ggplot2 diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 3b8fefc122..d8c8499fdd 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -59,6 +59,7 @@ ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; Copyright © 2021, 2022 jgart <jgart@dismail.de> +;;; Copyright © 2023 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3573,6 +3574,79 @@ this library provides functions to facilitate such comparisons.") SQLAlchemy Database Toolkit for Python.") (license license:expat))) +(define-public python-sqlite-fts4 + (package + (name "python-sqlite-fts4") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "sqlite-fts4" version)) + (sha256 + (base32 + "034kx0ac556sywy1p4qcrc36l24w3q0xwswqv2z9s3k8yvm5xc3q")))) + (build-system python-build-system) + (native-inputs (list python-pytest)) + (home-page "https://github.com/simonw/sqlite-fts4") + (synopsis "Python functions for working with SQLite FTS4 search") + (description "This package provides custom SQLite functions written +in Python for ranking documents indexed using the SQLite's FTS4 full +text search extension.") + (license license:asl2.0))) + +(define-public python-sqlite-utils + (package + (name "python-sqlite-utils") + (version "3.30") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/simonw/sqlite-utils") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a58syvh5jp40vi5libsxkqy99z75kj4ckxqmylbhd342ppfy1wp")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + ;; This is a variant designed to have a binary + ;; wheel made available on PyPI, which is not a + ;; concern to Guix. + (("click-default-group-wheel") + "click-default-group"))))))) + (propagated-inputs (list python-click python-click-default-group + python-dateutil python-sqlite-fts4 + python-tabulate)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/simonw/sqlite-utils") + (synopsis + "CLI tool and Python utility functions for manipulating SQLite databases") + (description + "This package provides a CLI tool and Python utility functions for +manipulating SQLite databases. It's main features are: +@itemize +@item +Pipe JSON (or CSV or TSV) directly into a new SQLite database file, +automatically creating a table with the appropriate schema. +@item +Run in-memory SQL queries, including joins, directly against data in +CSV, TSV or JSON files and view the results. +@item +Configure SQLite full-text search against your database tables and run +search queries against them, ordered by relevance. +@item +Run transformations against your tables to make schema changes that +SQLite ALTER TABLE does not directly support, such as changing the type +of a column. +@item +Extract columns into separate tables to better normalize your existing +data. +@end itemize") + (license license:asl2.0))) + (define-public python-pickleshare (package (name "python-pickleshare") @@ -5031,3 +5105,84 @@ generic interface to caching backends of any variety, and additionally provides API hooks which integrate these cache backends with the locking mechanism of @code{dogpile}.") (license license:expat))) + +(define-public datasette + (package + (name "datasette") + (version "0.64.2") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/simonw/datasette") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c8ajdaraynrjvsb8xxxnkb7zgm5fwq60qczaz00n465ki80j4h3")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + ;; There are multiple unexplained test failures (see: + ;; https://github.com/simonw/datasette/issues/2048). + #~(list "-k" (string-append + "not (test_database_page_for_database_with_dot_in_name" + " or test_row_strange_table_name" + " or test_database_with_space_in_name" + " or test_tilde_encoded_database_names" + " or test_weird_database_names" + " or test_css_classes_on_body" + " or test_templates_considered" + " or test_row_html_compound_primary_key" + " or test_edit_sql_link_on_canned_queries" + " or test_alternate_url_json" + " or test_table_with_slashes_in_name" + " or test_searchable" + " or test_custom_query_with_unicode_characters" + " or test_searchmode)") + "-n" (number->string (parallel-job-count)) + "-m" "not serial") ;cannot run in parallel + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + ;; The package needlessly specifies exact versions + ;; of dependencies, when it works fine with others. + (substitute* "setup.py" + (("(black)==[0-9\\.]+" _ package) + package) + (("click-default-group-wheel") + "click-default-group"))))))) + (propagated-inputs + (list python-aiofiles + python-asgi-csrf + python-asgiref + python-click + python-click-default-group + python-httpx + python-hupper + python-itsdangerous + python-janus + python-jinja2 + python-mergedeep + python-pint + python-pluggy-next + python-pyyaml + python-uvicorn)) + (native-inputs + (list python-beautifulsoup4 + python-black + python-cogapp + python-pytest-7.1 + python-pytest-asyncio + python-pytest-runner + python-pytest-timeout + python-pytest-xdist-next + python-setuptools + python-trustme)) + (home-page "https://datasette.io/") + (synopsis "Multi-tool for exploring and publishing data") + (description "Datasette is a tool for exploring and publishing data. +It helps people take data of any shape or size and publish that as an +interactive, explorable website and accompanying API.") + (license license:asl2.0))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index da2856abc8..de4a7f301a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2019, 2020, 2021 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com>15669 ;;; Copyright © 2019 Amar Singh <nly@disroot.org> -;;; Copyright © 2019, 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr> +;;; Copyright © 2019, 2022, 2023 Baptiste Strazzulla <bstrazzull@hotmail.fr> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org> @@ -2686,14 +2686,14 @@ project root.") (define-public emacs-relint (package (name "emacs-relint") - (version "1.21") + (version "1.22") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "relint-" version ".tar")) (sha256 - (base32 "12453agy7y3ayqn32fi11ljlnk8ck3i1aljw5wzm0yyqp00m73x3")))) + (base32 "1525hk961q4af06c5a60m7ryp5g8yvfxjp5nmmgkci7vl3ing8zi")))) (build-system emacs-build-system) (propagated-inputs (list emacs-xr)) (home-page "https://github.com/mattiase/relint") @@ -3894,7 +3894,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.35") + (version "0.36") (source (origin (method git-fetch) @@ -3903,7 +3903,7 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1xqg796844wk6kvn3xw4bqlxn9ra6jlwk7rsc5gy4j77l0gwl441")))) + (base32 "02glwnny9b4pwhq5inrakfz03zrq0zq1vr4npv88yla6pg8v87xx")))) (build-system emacs-build-system) (arguments (list @@ -5363,33 +5363,42 @@ environments.") (license license:gpl2+))) (define-public emacs-lemon - (let ((commit "37a6e6d6ef0900ca19c820a2dbc122c7fe6d86cf") - (revision "0")) - (package - (name "emacs-lemon") - (version (git-version "2.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://codeberg.org/emacs-weirdware/lemon") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0bc77vzi4p6mlzmhgybbldlpcsiiv4xqrd5lnc7wzvmxv8byhqpm")))) - (build-system emacs-build-system) - (native-inputs - (list emacs-blight emacs-emms)) - (propagated-inputs - (list emacs-s)) - (home-page "https://codeberg.org/emacs-weirdware/lemon") - (synopsis "System monitors in the echo area") - (description - "Lemon is a tiny system monitor which displays system information in + (package + (name "emacs-lemon") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/lemon") + (commit "b10e992a25757a91723c7d554a5fa8e14291e702"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18yclk2zzqcahzhz2kq8g9gy1xnnxiy6rxs2lwhskj475kvwy2f9")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #true + + ;; Only one test out of the four passes + #:test-command #~(list "emacs" "-Q" "--batch" "-L" "." + ;; "-l" "lemon--test.el" + ;; "-l" "lemon-monitor--test.el" + ;; "-l" "lemon-sparkline--test.el" + "-l" "lemon-time--test.el" + "-f" "ert-run-tests-batch-and-exit"))) + (native-inputs + (list emacs-blight emacs-emms)) + (propagated-inputs + (list emacs-s)) + (home-page "https://codeberg.org/emacs-weirdware/lemon") + (synopsis "System monitors in the echo area") + (description + "Lemon is a tiny system monitor which displays system information in the echo area when Emacs is has been idle for a few seconds. This is a fork of zk_phi’s Symon, which has been largely rewritten. It works nicely with EXWM.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-sx (let ((version "20191229") @@ -6171,7 +6180,7 @@ result.") (define-public emacs-rg (package (name "emacs-rg") - (version "2.2.1") + (version "2.3.0") (source (origin (method git-fetch) @@ -6180,7 +6189,7 @@ result.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1nxzplpk5cf6hhr2v85bmg68i6am96shi2zq7m83fs96bilhwsp5")))) + (base32 "1adici6hs4ivz7lqhrgdm9g1rz0mgvrsa7pkr2pcx6mg1f0qnlmr")))) (build-system emacs-build-system) (arguments (list @@ -7144,7 +7153,7 @@ snippets for yasnippet.") ;; Package has no release. Version is extracted from "Version:" keyword in ;; main file. (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241") - (revision "1")) + (revision "1")) (package (name "emacs-mode-line-idle") (version (git-version "0.1" revision commit)) @@ -7228,7 +7237,7 @@ truncation.") (define-public emacs-sqlite ;; XXX: There is no tagged commit. (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797") - (revision "0")) + (revision "0")) (package (name "emacs-sqlite") (build-system emacs-build-system) @@ -7237,8 +7246,8 @@ truncation.") (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/cnngimenez/sqlite.el") - (commit commit))) + (url "https://gitlab.com/cnngimenez/sqlite.el") + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "06ln4vijl8kii3nzc5cscgsadx1fqgxksflijd3ain83bn8g4wrd")))) @@ -8239,14 +8248,14 @@ variables, and so on. The mode also allows you to execute Tup commands.") (define-public emacs-compat (package (name "emacs-compat") - (version "29.1.4.0") + (version "29.1.4.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "compat-" version ".tar")) (sha256 (base32 - "1y1x50r4ai4k8sa5qi5zbjz8216lpk9vjd0k681l1ha2aqn8l3pr")))) + "1r8laxmdyrpz4nmzjrndd668bks4fgmbya04m0bfzwvhlrsca940")))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~pkal/compat") (synopsis "Emacs Lisp Compatibility Library") @@ -9023,7 +9032,7 @@ SuperCollider is a platform for audio synthesis and algorithmic composition.") (define-public emacs-soothe-theme ;; There is no named branch. (let ((commit "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b") - (revision "0")) + (revision "0")) (package (name "emacs-soothe-theme") (version (git-version "20141027.2233" revision commit)) @@ -9031,11 +9040,11 @@ SuperCollider is a platform for audio synthesis and algorithmic composition.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/emacsfodder/emacs-soothe-theme") - (commit commit))) + (url "https://github.com/emacsfodder/emacs-soothe-theme") + (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "10gh1hvxq9gm29r6qzlnva7vjidd7n4kih4z2ihyvbvy9za20xqw")))) + (base32 "10gh1hvxq9gm29r6qzlnva7vjidd7n4kih4z2ihyvbvy9za20xqw")))) (build-system emacs-build-system) (home-page "https://github.com/emacsfodder/emacs-soothe-theme") (synopsis "Colorful, but muted theme for Emacs, dark background with light text") @@ -12487,6 +12496,38 @@ for SPARQL. It can also execute queries against a SPARQL HTTP endpoint, such as Fuseki or DBPedia.") (license license:gpl3+))) +(define-public emacs-sphinx-doc + (let ((commit "1eda612a44ef027e5229895daa77db99a21b8801") + (revision "1")) + (package + (name "emacs-sphinx-doc") + (version (git-version "0.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/naiquevin/sphinx-doc.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q72i95yx3xa57jlgr7dik6prf20hi8bp8xf3f5c6ificv7i5378")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "sphinx-doc-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (propagated-inputs (list emacs-dash emacs-s)) + (home-page "https://github.com/naiquevin/sphinx-doc.el") + (synopsis + "Generate Sphinx friendly docstrings for Python functions in Emacs") + (description + "Sphinx Doc is an Emacs minor mode for inserting docstring skeletons +for Python functions and methods. The structure of the docstring is as per +the equirement of the Sphinx documentation generator.") + (license license:expat)))) + (define-public emacs-better-defaults (package (name "emacs-better-defaults") @@ -12495,8 +12536,8 @@ as Fuseki or DBPedia.") (origin (method git-fetch) (uri (git-reference - (url "https://git.sr.ht/~technomancy/better-defaults") - (commit version))) + (url "https://git.sr.ht/~technomancy/better-defaults") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 @@ -13420,6 +13461,27 @@ Python, together offering features such as navigation, documentation, completion, interactive development and more.") (license license:gpl3+)))) +(define-public emacs-railscasts-theme + (let ((commit "1340c3f6c2717761cab95617cf8dcbd962b1095b") + (revision "0")) + (package + (name "emacs-railscasts-theme") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mikenichols/railscasts-theme") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "021x1l5kzsbm0qj5a3bngxa7ickm4lbwsdz81a2ks9pi1ivmw205")))) + (build-system emacs-build-system) + (home-page "https://github.com/mikenichols/railscasts-theme") + (synopsis "Railscasts is a color theme for Emacs") + (description "Railscasts is a color theme for Emacs.") + (license license:expat)))) + (define-public emacs-rainbow-delimiters (package (name "emacs-rainbow-delimiters") @@ -14541,7 +14603,7 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.62") + (version "1.63") (source (origin (method url-fetch) @@ -14550,7 +14612,7 @@ Lua programming language}.") "ebuild-mode-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1l547d2q9l62zn53cwnjkxzqsblx72jh9a1vl753qlnyy689zvfp")))) + (base32 "1pkdyxiprj94z062y6nlm5w34gxyazbkg3yzhfscnm087p7pbg82")))) (build-system emacs-build-system) (arguments (list @@ -15208,7 +15270,7 @@ passive voice.") (define-public emacs-org (package (name "emacs-org") - (version "9.6.1") + (version "9.6.2") (source (origin (method git-fetch) @@ -15217,7 +15279,7 @@ passive voice.") (commit (string-append "release_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0iycj54ksanx6n3s06xhf0ax1cqjdcxynmz6cby27bcsj0sqflnp")))) + (base32 "0z1251fb9zn09cpv6ici3rqnfwjhm1rp5q36n17z7snd0dkh0x7h")))) (build-system emacs-build-system) (arguments (list @@ -15650,11 +15712,10 @@ extensibility.") (license license:gpl3+))) (define-public emacs-autocrypt - (let ((commit "5b55f8d37545e9c441788627c17e350d7edf4055") - (revision "0")) + (let ((commit "a90aa6b644fe8cf72af9e1615a7c50b36b739e7c")) ;version bump (package (name "emacs-autocrypt") - (version (git-version "0.4.0" revision commit)) + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -15663,19 +15724,15 @@ extensibility.") (file-name (git-file-name name version)) (sha256 (base32 - "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084")))) + "124qf96g2xbz3wz0ihix4l1g4prpa023hx0klf72clx92dhjjgjj")))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~pkal/autocrypt") (synopsis "Autocrypt implementation for Emacs") - (description "@code{emacs-autocrypt} is an implementation of -Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs. Autocrypt is + (description "Autocrypt package is an implementation of +Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs, a cryptographic protocol for email clients aiming to simplify key exchange and -encryption. - -Run @code{M-x autocrypt-create-account} to initialize an autocrypt key, and -add @code{autocrypt-mode} to your MUA's hooks (@code{gnus-mode-hook}, -@code{message-mode-hook}, ...) to activate its usage.") - (license license:cc0)))) +encryption.") + (license license:gpl3+)))) (define-public emacs-nginx-mode (package @@ -15931,6 +15988,47 @@ using a convenient notation.") (license (list license:gpl3+ license:fdl1.3+)))) ;GFDLv1.3+ for the manual +(define-public emacs-beframe + (let ((commit "edfab6eefe4ac35cd8d1ed87fc7f670496d25e40")) ;version bump + (package + (name "emacs-beframe") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/beframe") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sd8r3icaj2gl7f62fyzlwkkb05mc3cwsqgicw0n1x07s5ir3129")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after '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"))))))) + (native-inputs + (list texinfo)) + (home-page "https://protesilaos.com/emacs/beframe") + (synopsis "Isolate Emacs buffers per frame") + (description + "Beframe enables a frame-oriented Emacs workflow where each frame has +access to the list of buffers visited therein. In the interest of brevity, we +call buffers that belong to frames ``beframed''. Producing multiple frames +does not generate multiple buffer lists. There still is only one global list +of buffers. Beframing them simply filters the list.") + (license (list license:gpl3+ + license:fdl1.3+))))) ; GFDLv1.3+ for the manual + (define-public emacs-gn-mode (package (name "emacs-gn-mode") @@ -17288,6 +17386,48 @@ guidelines. It also includes a couple handy IDE-type features such as documentation search and a source and class browser.") (license license:gpl3+))) +(define-public emacs-pippel + (let ((commit "cb194952ee150e77601d3233dabdb521b976ee79") + (revision "0")) + (package + (name "emacs-pippel") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arifer612/pippel") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17606l24yyrjxa4rc0p2zj50lfbayqldw4phhi59yqf61289d520")))) + (build-system emacs-build-system) + (arguments + (list + #:include #~(cons "^pippel\\.py$" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'substitute-pippel-package-path + (lambda _ + (emacs-substitute-variables "pippel.el" + ("pippel-package-path" (elpa-directory #$output))))) + (add-after 'unpack 'substitute-python-path + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "pippel.el" + ("pippel-python-command" + (search-input-file inputs "/bin/python")))))))) + (inputs + (list python-wrapper)) + (propagated-inputs + (list emacs-dash emacs-s)) + (home-page "https://github.com/arifer612/pippel") + (synopsis "Emacs frontend to Python package manager Pip") + (description + "Pippel is an Emacs frontend for the Python package manager Pip. As +Pippel also uses Tabulated List mode, it provides a similar package menu like +@code{package-list-packages}.") + (license license:gpl3+)))) + (define-public emacs-pos-tip (package (name "emacs-pos-tip") @@ -18141,12 +18281,12 @@ variable instead, to remind you of that variable's meaning.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rejeep/ert-runner.el") - (commit (string-append "v" version)))) + (url "https://github.com/rejeep/ert-runner.el") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98")))) + (base32 + "08gygn9fjank5gpi4v6ynrkn0jbknxbwsn7md4p9ndygdbmnkf98")))) (build-system emacs-build-system) (inputs (list emacs-ansi @@ -18158,22 +18298,22 @@ variable instead, to remind you of that variable's meaning.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'install 'install-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (source-directory (string-append - (getenv "TMPDIR") "/source"))) - (substitute* "bin/ert-runner" - (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)") - (string-append "ERT_RUNNER=\"" (elpa-directory out)))) - (install-file "bin/ert-runner" (string-append out "/bin")) - (wrap-program (string-append out "/bin/ert-runner") - (list "EMACSLOADPATH" ":" 'prefix - ;; Do not capture the transient source directory in - ;; the wrapper. - (delete source-directory - (string-split (getenv "EMACSLOADPATH") #\:)))) - #t)))) + (add-after 'install 'install-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (source-directory (string-append + (getenv "TMPDIR") "/source"))) + (substitute* "bin/ert-runner" + (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)") + (string-append "ERT_RUNNER=\"" (elpa-directory out)))) + (install-file "bin/ert-runner" (string-append out "/bin")) + (wrap-program (string-append out "/bin/ert-runner") + (list "EMACSLOADPATH" ":" 'prefix + ;; Do not capture the transient source directory in + ;; the wrapper. + (delete source-directory + (string-split (getenv "EMACSLOADPATH") #\:)))) + #t)))) #:include (cons* "^reporters/.*\\.el$" %default-include))) (home-page "https://github.com/rejeep/ert-runner.el") (synopsis "Opinionated Ert testing workflow") @@ -19966,8 +20106,8 @@ files.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/jschaf/powershell.el") - (commit commit))) + (url "https://github.com/jschaf/powershell.el") + (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1cxhzaaig88zhylyycvb3849r85j1ijqklnh9zbqsfl2zhpb0g5c")))) @@ -29603,6 +29743,27 @@ generating a temp buffer in which any useful Emacs utilities and modes can be invoked.") (license license:gpl3+)))) +(define-public emacs-exwm-modeline + (package + (name "emacs-exwm-modeline") + (version "0.1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SqrtMinusOne/exwm-modeline") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b84wa8n5740p7wyia3skc8683inypha51w85mxn62wz6vfpjfp4")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-exwm)) + (home-page "https://github.com/SqrtMinusOne/exwm-modeline") + (synopsis "Modeline segment for EXWM") + (description "This package provides a modeline segment to display EXWM +workspaces.") + (license license:gpl3+))) + (define-public emacs-ert-async (package (name "emacs-ert-async") @@ -30392,14 +30553,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.6.0.2") + (version "2.6.0.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "0pfrsgci1rqrykkfyxm9wsn7f0l3rzc2vj1fas27w925l0k0lrci")))) + (base32 "0hcm20qk62k9irqdfcb44js9jkff43fji07la33arnjqvswrqs6n")))) (build-system emacs-build-system) (arguments (list @@ -33210,8 +33371,8 @@ Wordnet.") (define-public emacs-metal-mercury-mode (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8") - (revision "1") - (version "0.0.0")) + (revision "1") + (version "0.0.0")) (package (name "emacs-metal-mercury-mode") (version (git-version version revision commit)) @@ -36514,6 +36675,27 @@ a Vertico extension which provides a way to pop up a frame at point to show a vertical completion UI.") (license license:gpl3+))) +(define-public emacs-tintin-mode + (let ((commit "82e71e1db92ee3d94c7d0208bafc5de337193de8") + (revision "1")) + (package + (name "emacs-tintin-mode") + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sunwayforever/tintin-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p6ryqb8m30cp0zyawb6bs8wy3ga7gm60lcan0xx1fy3wx8qip33")))) + (build-system emacs-build-system) + (home-page "https://github.com/sunwayforever/tintin-mode") + (synopsis "Emacs major mode for highlighting and indenting TinTin++ scripts.") + (description "This major mode focuses on highlighting as many aspects of the TinTin++ scripting language as possible, organizing commands into functional categories and highlighting specific modes that many commands use to accomplish different tasks.") + (license license:asl2.0)))) + ;;; ;;; 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/emulators.scm b/gnu/packages/emulators.scm index 166c3b4ec6..7e73b217ea 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2023 c4droid <c4droid@foxmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2580,3 +2581,42 @@ on a Commodore C64, C128 etc.") "This package provides an assembler and emulator for the Uxn stack-machine, written in ANSI C. Graphical output is implemented using SDL2.") (license license:expat)))) + +(define-public emu8051 + (let ((commit "5dc681275151c4a5d7b85ec9ff4ceb1b25abd5a8") + (revision "1")) + (package + (name "emu8051") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jarikomppa/emu8051") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xxmkcwvd5fjnhwbricafg4xvxvr8dxhfanyfp4rbksw37dgk2fx")) + (modules '((guix build utils))) + (snippet #~(begin + ;; Replace LDFLAGS -lcurses to -lncurses + (substitute* "Makefile" + (("-lcurses") "-lncurses")))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;No test suite + #:make-flags #~(list (string-append "CC=" + #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;No ./configure script + (replace 'install + ;; No installation procedure + (lambda _ + (install-file "emu" + (string-append #$output "/bin"))))))) + (inputs (list ncurses)) + (home-page "https://github.com/jarikomppa/emu8051") + (synopsis "8051/8052 emulator with curses-based UI") + (description "emu8051 is a simulator of the 8051/8052 microcontrollers.") + (license license:expat)))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 65b0c0eab4..18f2d024b1 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -132,6 +132,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) @@ -1619,6 +1620,49 @@ the API of spice simulators. Based on transformations specified in XML language, ADMS transforms Verilog-AMS code into other target languages.") (license license:gpl3))) +(define-public audmes + (package + (name "audmes") + (version "20220420") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/audmes/audmes%20sources/" + "audmes-source-" version ".zip")) + (sha256 + (base32 "0yxjq2p1ca2wy2idwrlxr3b4vbp0d9268jll90y7l55fbid8vkp2")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'prepare-csv.h + (lambda* (#:key inputs #:allow-other-keys) + (mkdir "libfccp") + (install-file (search-input-file inputs "csv.h") "libfccp")))))) + (inputs + (list alsa-lib pulseaudio wxwidgets)) + (native-inputs + (list unzip + (let ((commit "4ade42d5f8c454c6c57b3dce9c51c6dd02182a66")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ben-strasser/fast-cpp-csv-parser") + (commit commit))) + (file-name (git-file-name "csv.h" (git-version "0" "0" commit))) + (sha256 + (base32 + "1y7ads97gkrjg1jc532n8gmjry0qhqxginw1gq7b4lk9s0pyl540")))))) + (home-page "https://sourceforge.net/projects/audmes/") + (synopsis "Oscilloscope and spectrum analyzer using sound card") + (description + "The audio measurement system is a system for audio measurement through +sound card. It contains: generator, oscilloscope, audio spectrum +analyzer (FFT) and frequency sweep plot.") + (license license:gpl2+))) + (define-public capstone (package (name "capstone") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5825b8d936..23b6c39c46 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6920,7 +6920,7 @@ at their peak of economic growth and military prowess. (define-public open-adventure (package (name "open-adventure") - (version "1.12") + (version "1.14") (source (origin (method git-fetch) @@ -6929,7 +6929,7 @@ at their peak of economic growth and military prowess. (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07mg7cp12g27dw8sya17jqz6qp93q7c8zadsvym3w602z87g40in")))) + (base32 "1fb1fw1mq7czd90q1mf22g5nqvv7g1mfhhgs6slba7yzx2kbv4d0")))) (build-system gnu-build-system) (arguments (list @@ -9094,7 +9094,7 @@ levels to unlock.") (define simgear (package (name "simgear") - (version "2020.3.17") + (version "2020.3.18") (source (origin (method url-fetch) @@ -9102,7 +9102,7 @@ levels to unlock.") (version-major+minor version) "/" "simgear-" version ".tar.bz2")) (sha256 - (base32 "0z1pkxs4fw8xkiainxgcpayhmn0b4c0sc2j6q88x66zzvk89qpjc")) + (base32 "1jin6rbz4s83x4k91lbdw5gb0vrc8frbmwpc55wl0wmiaqjwzhbc")) (modules '((guix build utils))) (snippet '(begin @@ -9147,7 +9147,7 @@ and also provides the base for the FlightGear Flight Simulator.") (version-major+minor version) "/" "flightgear-" version ".tar.bz2")) (sha256 - (base32 "0m0qbyf9i84avkfmjm1a5bijl1nqs7wnpw7rfz53ls52mkgdww36")) + (base32 "0dyyi1v97w3mdwsv9kdd194inz1461wqv3zy3wyai0n17wdf7a1r")) (modules '((guix build utils))) (snippet '(begin @@ -9219,7 +9219,7 @@ and also provides the base for the FlightGear Flight Simulator.") "FlightGear-" version "-data.txz")) (sha256 (base32 - "1s6qahfia3llghfqgx990brg7gbb7z7accsq528kcyp6k8mvlpia")))))) + "0f2jn2br27ahf5gggx70zcp80wrylahw7nbqdcx7ml9qphg6rjak")))))) (home-page "https://www.flightgear.org/") (synopsis "Flight simulator") (description "The goal of the FlightGear project is to create a diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0efb98b97c..8c38b94a21 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8498,7 +8498,7 @@ users.") (define-public network-manager (package (name "network-manager") - (version "1.43.4") + (version "1.41.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/NetworkManager/" @@ -8508,7 +8508,7 @@ users.") "network-manager-meson.patch")) (sha256 (base32 - "03sq59hb99farkn2z2kiidcmq86jc13ppjvm6s0k8cdxkcpivals")))) + "0v5a5fw1zwa94ksz6d7hyj14wwdxzmswgm81ryhxmyn3nrcf1akg")))) (build-system meson-build-system) (outputs '("out" "doc")) ; 8 MiB of gtk-doc HTML diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 475c2b5a38..3e153ec55c 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1119,8 +1119,8 @@ standards of the IceCat project.") "ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl" "tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW")) -(define %icedove-build-id "20230314000000") ;must be of the form YYYYMMDDhhmmss -(define %icedove-version "102.9.0") +(define %icedove-build-id "20230328000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-version "102.9.1") ;; Provides the "comm" folder which is inserted into the icecat source. ;; Avoids the duplication of Icecat's source tarball. @@ -1129,11 +1129,11 @@ standards of the IceCat project.") (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/releases/comm-esr102") - (changeset "db735c436e680abf21cc67f9a29b42fdf30d416d"))) + (changeset "a8965ef0b30705f497df3df718db60d9dc2c304f"))) (file-name (string-append "thunderbird-" %icedove-version "-checkout")) (sha256 (base32 - "114vvwlrmjilczwsg9nfcg08560vijlydw1pdrbkvxjbfgsxny71")))) + "14lj30a9hmiwxpriyfls245y1wj2j3hfwrsbf7s5d9ligjqldjag")))) (define (comm-source->locales+changeset source) "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index c00a6e2d91..299d7b96a1 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -482,31 +483,15 @@ RGB animations.") (define-public ddcutil (package (name "ddcutil") - (version "1.3.2") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://www.ddcutil.com/tarballs/" "ddcutil-" version ".tar.gz")) (sha256 - (base32 "0hm0cm4m4hk1jjy7kddg613mynvwlii3kp8al0j9v3c6mcx3p4mx")))) + (base32 "14svdjpw9xn1czl4vff4jg2i9bp83lxcbzxj7hxn63z3gzacaj4k")))) (build-system gnu-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'install-udev-rules - (lambda* (#:key outputs #:allow-other-keys) - ;; Move the udev rules to their expected location in Guix - ;; System, so they can be more easily used. - (let ((rules.d (string-append #$output "/lib/udev/rules.d"))) - (mkdir-p (dirname rules.d)) - (rename-file (string-append #$output "/share/ddcutil/data") - rules.d) - ;; Patch a reference to the ddcutil command. - (substitute* (string-append rules.d "/45-ddcutil-usb.rules") - (("/usr/bin/ddcutil") - (search-input-file outputs "bin/ddcutil"))))))))) (native-inputs (list pkg-config)) (inputs diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index f7719600a7..d8d6304a85 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -254,7 +254,7 @@ actions.") libarchive libchamplain libheif - libjpeg + libjpeg-turbo libpng libraw libtiff diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2bd4650e52..69ed7bc710 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -483,7 +483,7 @@ 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.2-version "6.2.8") +(define-public linux-libre-6.2-version "6.2.9") (define-public linux-libre-6.2-gnu-revision "gnu") (define deblob-scripts-6.2 (linux-libre-deblob-scripts @@ -493,12 +493,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0ir5vvbdh6dly5ld8mfp7285g8k88w5bb32hj4wmgyqsbfqc6rf2"))) (define-public linux-libre-6.2-pristine-source (let ((version linux-libre-6.2-version) - (hash (base32 "0rgn8k9rhk819bazcaz7fbk5ba1hph02izqrw06ag0rgsj3svl7y"))) + (hash (base32 "1xa3znandhyn1ygbfv4cl83mwn33hphj1jdc59s0wgy0ck0ljd4h"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.2))) -(define-public linux-libre-6.1-version "6.1.21") +(define-public linux-libre-6.1-version "6.1.22") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -508,7 +508,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0cchdhjra74zanyk14brv2l2dvxpg8dn58rn477lgfb44mcnhq33"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0fnr2pw4pi0vnkpv8hfipya09cgdz6ghks7p6vdl2d71dawb2g5k"))) + (hash (base32 "1a7xkjqj13q5dgk1gml27kdzs381p0z203alamd0wkgprr0r3s1b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) @@ -516,7 +516,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.15-version "5.15.104") +(define-public linux-libre-5.15-version "5.15.105") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -526,7 +526,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "03hwhwbcicwyx5i30d6m715kwgrxz4h21xhk55wnawlk8zhx3r35"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "0m3bscml2mvafbj5k9a3qa8akfxms8wfpzsr687lfblr17735ibi"))) + (hash (base32 "0kz4ymaqb1kpniqq2mwv3z8rirz5yyf1c9m648kqblij0djkgd81"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e0025b784c..ff6eebed25 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -119,6 +119,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (ice-9 match) @@ -2427,6 +2428,43 @@ consistent across multiple Common Lisp implementations.") (define-public ecl-trivial-features (sbcl-package->ecl-package sbcl-trivial-features)) +(define-public sbcl-harmony + (let ((commit "0b57483cc0341936c201b620f82a8542c606991f") + (revision "0")) + (package + (name "sbcl-harmony") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/harmony") + (commit commit))) + (file-name (git-file-name "cl-harmony" version)) + (sha256 + (base32 "0pqmfi3yi3gi7b7dyayrb621hp60rn7hasq0cl0fis3vg0fp5dja")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-atomics + sbcl-bordeaux-threads + sbcl-cl-mixed + sbcl-stealth-mixin + sbcl-trivial-features)) + (home-page "https://shirakumo.github.io/harmony/") + (synopsis "Common Lisp sound server and sound processing library") + (description + "HARMONY is a library that provides you with audio processing tools as +well as an audio server to play back music, sfx, and so forth. It is most +suited for use in a game engine, but may feasibly also be used for more +advanced things such as a DAW") + (license license:zlib)))) + +(define-public ecl-harmony + (sbcl-package->ecl-package sbcl-harmony)) + +(define-public cl-harmony + (sbcl-package->cl-source-package sbcl-harmony)) + (define-public sbcl-hu.dwim.asdf (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59")) (package @@ -6924,6 +6962,53 @@ mostly Common Lisp implementation.") (define-public ecl-cl-fastcgi (sbcl-package->ecl-package sbcl-cl-fastcgi)) +(define-public sbcl-cl-flac + (let ((commit "d094d33d3cc2cf263263b917798d338eded3c532") + (revision "0")) + (package + (name "sbcl-cl-flac") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-flac") + (commit commit))) + (file-name (git-file-name "cl-flac" version)) + (sha256 + (base32 "1dgr5xqf175hzq3sxpbixxia2k2g3rz0pn6msch4dnvk7a1naqlc")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled libraries. + `(begin + (delete-file-recursively "static"))))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libflac.so") + (search-input-file inputs "/lib/libFLAC.so")))))))) + (inputs + (list flac + sbcl-cffi + sbcl-documentation-utils + sbcl-trivial-features + sbcl-trivial-garbage)) + (home-page "https://shirakumo.github.io/cl-flac") + (synopsis "CFFI bindings to libflac for Common Lisp") + (description "This package provides CFFI bindings to the @code{libflac} +audio library for Common Lisp.") + (license license:zlib)))) + +(define-public ecl-cl-flac + (sbcl-package->ecl-package sbcl-cl-flac)) + +(define-public cl-flac + (sbcl-package->cl-source-package sbcl-cl-flac)) + (define-public sbcl-clack (let ((commit "6fd0279424f7ba5fd4f92d69a1970846b0b11222") (revision "2")) @@ -19129,6 +19214,86 @@ encodings.") (define-public cl-mime (sbcl-package->cl-source-package sbcl-cl-mime)) +(define-public sbcl-cl-mixed + (let ((commit "4aaff134d3902d93a2a8605c10de4bcfc62d7afa") + (revision "0")) + (package + (name "sbcl-cl-mixed") + (version (git-version "2.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-mixed") + (commit commit))) + (file-name (git-file-name "cl-mixed" version)) + (sha256 + (base32 "1mrj95lxb1gbxxm89x8gy1ifw2ic1p5wwpapkxcd2jr8abw7zny0")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled libraries. + `(begin + (delete-file-recursively "static"))))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-systems '("cl-mixed" + "cl-mixed-examples" + "cl-mixed-flac" + "cl-mixed-vorbis" + "cl-mixed-alsa" + "cl-mixed-jack" + "cl-mixed-mpg123" + "cl-mixed-mpt" + "cl-mixed-out123" + "cl-mixed-pulse" + "cl-mixed-sdl2" + "cl-mixed-wav") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libmixed.so.2") + (search-input-file inputs "/lib/libmixed.so.2")))))))) + (inputs + (list libmixed + sbcl-alexandria + sbcl-cffi + sbcl-cl-flac + sbcl-cl-mpg123 + sbcl-cl-out123 + sbcl-cl-vorbis + sbcl-documentation-utils + sbcl-sdl2 + sbcl-static-vectors + sbcl-trivial-features)) + (home-page "https://shirakumo.github.io/cl-mixed/") + (synopsis "Extended audio library for Common Lisp") + (description + "This package provides CFFI binding to @code{libmixed} audio library for +Common Lisp with support of other audio formats available on GNU/Linux systems: + +@itemize + +@item @acronym{Alsa, Advanced Linux Sound Architecture} +@item @acronym{Jack, JackAudio toolkit} +@item @acronym{Openmpt, Libopenmpt playback drain for tracker files} +@item @acronym{PulseAudio, PulseAudio based playback drain} +@item Flac (via CL-FLAC) +@item Mpg123 (via CL-MPG123) +@item Ogg/vorbis (via CL-VORBIS) +@item Out123 (via CL-OUT123) +@item WAV + +@end itemize") + (license license:zlib)))) + +(define-public ecl-cl-mixed + (sbcl-package->ecl-package sbcl-cl-mixed)) + +(define-public cl-mixed + (sbcl-package->cl-source-package sbcl-cl-mixed)) + (define-public sbcl-lispbuilder-sdl (let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab")) (package @@ -21283,8 +21448,7 @@ joysticks, and other such HID devices.") ;; ... ;; "trial-glop" "trial-gltf" - ;; TODO: It requires a long packaging journey. - ;; "trial-harmony" + "trial-harmony" "trial-jpeg" "trial-notify" "trial-png" @@ -21330,6 +21494,7 @@ joysticks, and other such HID devices.") sbcl-form-fiddle sbcl-glop sbcl-glsl-toolkit + sbcl-harmony sbcl-ieee-floats sbcl-jzon sbcl-lambda-fiddle @@ -23959,6 +24124,67 @@ Vernacular builds on Overlord and is inspired by Racket.") (define-public cl-vernacular (sbcl-package->cl-source-package sbcl-vernacular)) +(define-public sbcl-cl-collider + (let ((commit "a46908896982868955b29bfb3a5337a0af489b0b") + (revision "0")) + (package + (name "sbcl-cl-collider") + (version (git-version "2018.7.15" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/byulparan/cl-collider") + (commit commit))) + (file-name (git-file-name "cl-collider" version)) + (sha256 + (base32 "10wvjbwvbgr0b57hpfxycg90yjmb29pirygr1sxrdaqxll328sz1")))) + (build-system asdf-build-system/sbcl) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-executables-and-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "server.lisp" + (("/usr/local/lib/SuperCollider/plugins") + (search-input-directory + inputs "/lib/SuperCollider/plugins")) + (("/usr/local/share/SuperCollider/Extensions") + (search-input-directory + inputs "/share/SuperCollider/Extensions")) + (("which scsynth") + (string-append + "which " + (search-input-file inputs "/bin/scsynth"))) + (("jack_connect") + (search-input-file inputs "/bin/jack_connect")))))))) + (inputs + (list jack-1 + supercollider + sbcl-alexandria + sbcl-bordeaux-threads + sbcl-cffi + sbcl-cl-ppcre + sbcl-flexi-streams + sbcl-ieee-floats ; sc-osc dependencies. + sbcl-named-readtables + sbcl-osc + sbcl-pileup + sbcl-simple-inferiors ; For ecl. + sbcl-split-sequence + sbcl-usocket)) + (synopsis "SuperCollider client for CommonLisp") + (description "This package provides a SuperCollider client for +Common Lisp.") + (home-page "https://github.com/byulparan/cl-collider/") + (license license:public-domain)))) + +(define-public cl-collider + (sbcl-package->cl-source-package sbcl-cl-collider)) + +(define-public ecl-cl-collider + (sbcl-package->ecl-package sbcl-cl-collider)) + (define-public sbcl-osc (let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad") (revision "0")) @@ -28033,6 +28259,57 @@ generation as well as numerous distributions.") (define-public ecl-cl-variates (sbcl-package->ecl-package sbcl-cl-variates)) +(define-public sbcl-cl-vorbis + (let ((commit "c5835cd7091aea9e2e389ad359d244542d637758") + (revision "0")) + (package + (name "sbcl-cl-vorbis") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shirakumo/cl-vorbis") + (commit commit))) + (file-name (git-file-name "cl-vorbis" version)) + (sha256 + (base32 "0713pl5c2khfpf8m3h1l2y0ilack7akf580h70jq6qcrnq3h4b40")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled libraries, GlibC and Vorbis sources. + `(begin + (delete-file-recursively "static") + (for-each delete-file '("glibc-2.13.h" + "stb_vorbis.c" + "stb_vorbis_patch.c")))))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "low-level.lisp" + (("libvorbis-lin-amd64.so") + (search-input-file inputs "/lib/libvorbis.so")))))))) + (inputs + (list libvorbis + sbcl-cffi + sbcl-documentation-utils + sbcl-static-vectors + sbcl-trivial-features + sbcl-trivial-garbage)) + (home-page "https://shirakumo.github.io/cl-vorbis/") + (synopsis "OGG/Vorbis decoding using stb_vorbis for Common Lisp") + (description "This package provides CFFI bindings for the +@code{stb_vorbis} audio library to Common Lisp.") + (license license:zlib)))) + +(define-public ecl-cl-vorbis + (sbcl-package->ecl-package sbcl-cl-vorbis)) + +(define-public cl-vorbis + (sbcl-package->cl-source-package sbcl-cl-vorbis)) + (define-public sbcl-cephes (let ((commit "d87146fa38c8425ffb5fe425eee5eb3e818bacd4") (revision "0")) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a304d4befa..286532fa70 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5218,6 +5218,95 @@ packages.") ;; GPUQREngine, RBio, SuiteSparse_GPURuntime, SuiteSparseQR, UMFPACK (license (list license:gpl2+ license:lgpl2.1+)))) + +;; This outdated version is used to build the scilab package. +(define-public suitesparse-3 + (package + (inherit suitesparse) + (name "suitesparse") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DrTimothyAldenDavis/SuiteSparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wxk755nzps0c9la24zqknqkzjp6rcj5q9jhd973mff1pqja3clz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no "check" target + #:make-flags + ,#~(list + (string-append "CC=gcc") + "AR=gcc -shared -o" + "RANLIB=touch" + "CFLAGS=-O3 -fPIC -I../Include" + "TBB=-ltbb" + + ;; Disable metis@4 (nonfree) support. + "CHOLMOD_CONFIG=-DNPARTITION" + "METIS=" + "METIS_PATH=" + + ;; The default is to link against netlib lapack. Use OpenBLAS + ;; instead. + "BLAS=-lopenblas" "LAPACK=-lopenblas" + + (string-append "INSTALL_LIB=" + (assoc-ref %outputs "out") "/lib") + (string-append "INSTALL_INCLUDE=" + (assoc-ref %outputs "out") "/include") + "library") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'correct-build-configuration + (lambda _ + ;; Invert build order: CHOLMOD before KLU. + (substitute* "Makefile" + (("\t\\( cd CHOLMOD ; \\$\\(MAKE\\) \\)\n$") + "") + (("\\( cd KLU ; \\$\\(MAKE\\) \\)") + (string-append "( cd CHOLMOD ; $(MAKE) )\n\t" + "( cd KLU ; $(MAKE) )"))) + ;; Build shared libraries. + (substitute* (find-files "." "akefile$") + (("lib([a-z]+)\\.a" all libname) + (string-append "lib" libname ".so"))) + ;; Delete broken KLU Demo step. + (substitute* "KLU/Makefile" + (("\\( cd Demo ; \\$\\(MAKE\\) \\)") + "")))) + (replace 'install + (lambda _ + ;; Install libraries. + (for-each + (lambda (x) + (install-file + x + (string-append (assoc-ref %outputs "out") "/lib"))) + (find-files "." "\\.so$")) + ;; Install header files. + (for-each + (lambda (x) + (install-file + x + (string-append (assoc-ref %outputs "out") "/include"))) + (find-files "." "\\.h$")))) + ,@(if (target-riscv64?) + ;; GraphBLAS FTBFS on riscv64-linux + `((add-after 'unpack 'skip-graphblas + (lambda _ + (substitute* "Makefile" + ((".*cd GraphBLAS.*") "") + (("metisinstall gbinstall moninstall") + "moninstall"))))) + '()) + (delete 'configure)))) ;no configure script + (inputs + (list tbb openblas gmp mpfr)))) + (define-public atlas (package (name "atlas") @@ -6072,6 +6161,14 @@ structured and unstructured grid problems."))) (base32 "0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4")))) (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'install-matioConfig.h + (lambda _ + (install-file "src/matioConfig.h" + (string-append #$output "/include"))))))) (inputs (list zlib hdf5-1.8)) (home-page "http://matio.sourceforge.net/") @@ -8569,3 +8666,109 @@ primal-dual interior-point method are made available. Interfaces are provided for applications written in C++ and Python. Parallel computation is supported via MPI.") (license license:bsd-2)))) + +(define-public scilab + (package + (name "scilab") + (version "5.5.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://oos.eu-west-2.outscale.com/scilab-releases/" + version "/scilab-" version "-src.tar.gz")) + (sha256 + (base32 "1hx57aji5d78brwqcf8a34i1hasm3h4nw46xjg7cgxj09s8yz5kq")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config gfortran)) + (inputs (list libxml2 + `(,pcre "bin") + `(,pcre "out") + readline + hdf5-1.8 + curl + openblas + lapack + arpack-ng + fftw + gettext-minimal + suitesparse-3 + tcl + tk + libx11 + matio)) + (arguments + `(#:tests? #f + #:configure-flags + ,#~(list + "--enable-relocatable" + "--disable-static-system-lib" + ;; Disable all java code. + "--without-gui" + "--without-javasci" + "--disable-build-help" + "--with-external-scirenderer" + ;; Tcl and Tk library locations. + (string-append "--with-tcl-include=" + (string-drop-right + (search-input-file %build-inputs "include/tcl.h") + (string-length "/tcl.h"))) + (string-append "--with-tcl-library=" + (string-drop-right + (search-input-directory %build-inputs "lib/tcl8") + (string-length "/tcl8"))) + (string-append "--with-tk-include=" + (string-drop-right + (search-input-file %build-inputs "include/tk.h") + (string-length "/tk.h"))) + (string-append "--with-tk-library=" + (string-drop-right + (search-input-directory %build-inputs "lib/tk8.6") + (string-length "/tk8.6"))) + ;; There are some 2018-fortran errors that are ignored + ;; with this fortran compiler flag. + "FFLAGS=-fallow-argument-mismatch") + #:phases + ,#~(modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda _ + ;; Fix scilab script. + (substitute* "bin/scilab" + (("\\/bin\\/ls") + (which "ls"))) + ;; Fix core.start. + (substitute* "modules/core/etc/core.start" + (("'SCI/modules") + "SCI+'/modules")) + ;; Fix fortran compilation error. + (substitute* + "modules/differential_equations/src/fortran/twodq.f" + (("node\\(10\\),node1\\(10\\),node2\\(10\\),coef") + "node(9),node1(9),node2(9),coef")) + ;; Fix C compilation errors. + ;; remove & + (substitute* "modules/hdf5/src/c/h5_readDataFromFile_v1.c" + (("(H5Rdereference\\(_iDatasetId, H5R_OBJECT, )&(.*)\\);$" + all common ref) + (string-append common ref))) + ;; fix multiple definitions + (substitute* "modules/tclsci/src/c/TCL_Command.h" + (("^__thread") + "extern __thread")) + (substitute* "modules/tclsci/src/c/InitTclTk.c" + (("BOOL TK_Started = FALSE;" all) + (string-append all "\n" + "__threadId TclThread;" "\n" + "__threadSignal InterpReady;" "\n" + "__threadSignalLock InterpReadyLock;" + "\n"))) + ;; Set SCIHOME to /tmp before macros compilation. + (setenv "SCIHOME" "/tmp")))))) + (home-page "https://scilab.org") + (synopsis "Software for engineers and scientists") + (description "This package provides the non-graphical version of the Scilab +software for engineers and scientists. Scilab is used for signal processing, +statistical analysis, image enhancement, fluid dynamics simulations, numerical +optimization, and modeling, simulation of explicit and implicit dynamical +systems and symbolic manipulations.") + (license license:cecill))) ;CeCILL v2.1 diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 537d01e164..29cb481862 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1137,7 +1137,7 @@ written entirely in Python.") (define-public conan (package (name "conan") - (version "1.50.0") + (version "2.0.2") (source (origin (method git-fetch) ;no tests in PyPI archive @@ -1147,104 +1147,113 @@ written entirely in Python.") (file-name (git-file-name name version)) (sha256 (base32 - "1jjrinz5wkcxfvwdpldrv4h7vacdyz88cc4af5vi3sdnjra0i0m5")))) + "1y4qmqnw3s8xv64lgp388qpj9vqharyfqi5s8dxvgsns6cafv7lf")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "conans/requirements.txt" - (("node-semver==0.6.1") - "node-semver>=0.6.1") - (("Jinja2>=2.9, <3") - "Jinja2>=2.9") - (("PyYAML>=3.11, <6.0") - "PyYAML")))) - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((coreutils (assoc-ref inputs "coreutils"))) - ;; It seems that PATH is manipulated, as printenv is not found - ;; during tests. Patch in its exact location. - (substitute* "conan/tools/env/environment.py" - (("printenv") - (string-append coreutils "/bin/printenv"))) - (substitute* "conans/client/envvars/environment.py" - (("#!/usr/bin/env") - (string-append "#!" coreutils "/bin/env")))))) - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" "/tmp"))) - (replace 'check - (lambda* (#:key tests? outputs #:allow-other-keys) - (define system ,(or (%current-target-system) - (%current-system))) - (when tests? - (setenv "PATH" (string-append (getenv "PATH") ":" - (assoc-ref outputs "out") "/bin")) - (invoke "python" "-m" "pytest" - "-n" "auto" ;parallelize tests - "-m" "not slow and not tool_svn" - ;; Disable problematic tests. - "-k" - (string-append - ;; These tests rely on networking. - "not shallow_clone_remote " - "and not remote_build " - "and not download_retries_errors " - "and not ftp " - "and not build_local_different_folders " - ;; These expect CMake available at fixed versions. - "and not custom_cmake " - "and not default_cmake " - "and not bazel " ;bazel is not packaged - ;; Guix sets PKG_CONFIG_PATH itself, which is not - ;; expected by the following test. - "and not pkg_config_path " - "and not compare " ;caused by newer node-semver? - ;; Guix is not currently a supported package manager. - "and not system_package_tool " - ;; These expect GCC 5 to be available. - "and not test_reuse " - "and not test_install " - ;; The installed configure script trips on the /bin/sh - ;; shebang. We'd have to patch it in the Python code. - "and not test_autotools " - "and not test_use_build_virtualenv " - ;; This test is architecture-dependent. - "and not test_toolchain_linux " - ;; This one fails for unknown reasons (see: - ;; https://github.com/conan-io/conan/issues/9671). - "and not test_build " - ;; These tests expect the 'apt' command to be available. - "and not test_apt_check " - "and not test_apt_install_substitutes " - (if (not (string-prefix? "x86_64" system)) - ;; These tests either assume the machine is - ;; x86_64, or require a cross-compiler to target - ;; it. - (string-append - "and not cpp_package " - "and not exclude_code_analysis " - "and not cmakedeps_multi " - "and not locally_build_linux " - "and not custom_configuration " - "and not package_from_system " - "and not cross_build_command " - "and not test_package " - "and not test_deleted_os " - "and not test_same ") - "") - (if (not (or (string-prefix? "x86_64" system) - (string-prefix? "i686" system))) - ;; These tests either assume the machine is i686, - ;; or require a cross-compiler to target it. - (string-append - "and not vcvars_raises_when_not_found " - "and not conditional_generators " - "and not test_folders " - "and not settings_as_a_dict_conanfile ") - ""))))))))) + (list + #:modules '((guix build python-build-system) + (guix build utils) + (ice-9 format)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; It seems that PATH is manipulated, as printenv is not found + ;; during tests. Patch in its exact location. + (substitute* "conan/tools/env/environment.py" + (("printenv") + (search-input-file inputs "bin/printenv"))))) + (add-after 'unpack 'patch-hard-coded-GCC-references + (lambda _ + ;; The test suite expects GCC 9 to be used (see: + ;; https://github.com/conan-io/conan/issues/13575). Render the + ;; check version agnostic. + (substitute* "conans/test/functional/toolchains/meson/_base.py" + (("__GNUC__9") + "__GNUC__")))) + (add-after 'unpack 'use-current-cmake-for-tests + (lambda _ + (substitute* (find-files "conans/test" "\\.py$") + (("@pytest.mark.tool\\(\"cmake\", \"3.23\")") + "@pytest.mark.tool(\"cmake\")")))) + (add-before 'check 'configure-tests + (lambda _ + (let* ((cmake-version #$(version-major+minor + (package-version cmake))) + (pkg-config-version #$(version-major+minor + (package-version pkg-config)))) + (call-with-output-file "conans/test/conftest_user.py" + (lambda (port) + (format port "\ +tools_locations = { + 'apt_get': {'disabled': True}, + 'bazel': {'disabled': True}, + 'cmake': {'default': '~a', + '3.15': {'disabled': True}, + '3.16': {'disabled': True}, + '3.17': {'disabled': True}, + '3.19': {'disabled': True}, + '~:*~a': {}}, + 'pkg_config': {'exe': 'pkg-config', + 'default': '~a', + '~:*~a': {}}, + 'svn': {'disabled': True}}~%" cmake-version pkg-config-version)))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp"))) + (replace 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + (define system #$(or (%current-target-system) + (%current-system))) + (when tests? + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "PATH" (string-append (getenv "PATH") ":" + #$output "/bin")) + (invoke "python" "-m" "pytest" "-vv" + "-n" (number->string (parallel-job-count)) + "-m" "not slow" + ;; Disable problematic tests. + "-k" + (string-append + ;; These tests rely on networking. + "not download_retries_errors " + "and not ftp " + ;; Guix sets PKG_CONFIG_PATH itself, which is not + ;; expected by the following test. + "and not pkg_config_path " + "and not compare " ;caused by newer node-semver? + ;; This test hard-codes a compiler version. + "and not test_toolchain " + ;; The 'test_list' tests may fail + ;; non-deterministically (see: + ;; https://github.com/conan-io/conan/issues/13583). + "and not test_list " + ;; These tests fail when Autoconf attempt to load a + ;; shared library in the same directory (see: + ;; https://github.com/conan-io/conan/issues/13577). + "and not test_other_client_can_link_autotools " + "and not test_autotools_lib_template " + (if (not (string-prefix? "x86_64" system)) + ;; These tests either assume the machine is + ;; x86_64, or require a cross-compiler to target + ;; it. + (string-append + "and not cpp_package " + "and not exclude_code_analysis " + "and not cmakedeps_multi " + "and not locally_build_linux " + "and not custom_configuration " + "and not package_from_system " + "and not cross_build_command " + "and not test_package " + "and not test_same ") + "") + (if (not (or (string-prefix? "x86_64" system) + (string-prefix? "i686" system))) + ;; This test only works with default arch "x86", + ;; "x86_64", "sparc" or "sparcv9". + "and not settings_as_a_dict_conanfile " + ""))))))))) (propagated-inputs (list python-bottle python-colorama @@ -1264,22 +1273,23 @@ written entirely in Python.") python-tqdm python-urllib3)) (inputs - (list coreutils)) ;for printenv + (list coreutils)) ;for printenv (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("cmake" ,cmake) - ("git" ,git-minimal) - ("meson" ,meson) - ("ninja",ninja) - ("pkg-config" ,pkg-config) - ("python-bottle" ,python-bottle) - ("python-mock" ,python-mock) - ("python-parameterized" ,python-parameterized) - ("python-pytest" ,python-pytest) - ("python-pytest-xdist" ,python-pytest-xdist) - ("python-webtest" ,python-webtest) - ("which" ,which))) + (list autoconf-wrapper + automake + cmake + git-minimal + libtool + meson + ninja + pkg-config + python-bottle + python-mock + python-parameterized + python-pytest + python-pytest-xdist + python-webtest + which)) (home-page "https://conan.io") (synopsis "Decentralized C/C++ package manager") (description "Conan is a package manager for C and C++ developers that diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index c9071c4cf6..c3e36ff2e4 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1503,21 +1503,14 @@ items and collections, editing items, locking and unlocking collections (define-public python-trustme (package (name "python-trustme") - (version "0.6.0") + (version "0.9.0") (source (origin (method url-fetch) (uri (pypi-uri "trustme" version)) (sha256 - (base32 "0v3vr5z6apnfmklf07m45kv5kaqvm6hxrkaqywch57bjd2siiywx")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv")))))) + (base32 "0v2qzszmyazfgc1snicdr4b4qdajpjd4pbinpgrn9vfff0yv41sy")))) + (build-system pyproject-build-system) (native-inputs (list python-more-itertools python-pyopenssl @@ -1526,7 +1519,9 @@ items and collections, editing items, locking and unlocking collections python-service-identity python-zipp)) (propagated-inputs - (list python-cryptography)) + (list python-cryptography + python-idna + python-ipaddress)) (home-page "https://github.com/python-trio/trustme") (synopsis "Fake a certificate authority for tests") (description diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d186653544..d84b5efdf9 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> -;;; Copyright © 2022 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> @@ -570,6 +570,87 @@ communicate with each other, and positioned as an asynchronous successor to WSGI. This package includes libraries for implementing ASGI servers.") (license license:bsd-3))) +(define-public python-asgi-csrf + (package + (name "python-asgi-csrf") + (version "0.9") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/simonw/asgi-csrf") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j134mjh0ff61rvkm3q67m463j1bhyxc9dwsdany3scnd4vsqqws")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags + ;; Provide a null config to avoid the extraneous dependency on + ;; python-pytest-coverage. + #~(list "-c" "/dev/null" + ;; Disable two failing tests (see: + ;; https://github.com/simonw/asgi-csrf/issues/24). + "-k" (string-append + "not (test_multipart " + "or test_multipart_failure_wrong_token)")))) + (propagated-inputs (list python-itsdangerous python-multipart)) + (native-inputs (list python-asgi-lifespan + python-httpx + python-pytest + python-pytest-asyncio + python-starlette)) + (home-page "https://github.com/simonw/asgi-csrf") + (synopsis "ASGI middleware for protecting against CSRF attacks") + (description "This Asynchronous Server Gateway Interface (ASGI) +middleware protects against Cross-site request forgery (CSRF) attacks. +It implements the Double Submit Cookie pattern, where a cookie is set +that is then compared to a @code{csrftoken} hidden form field or a +@code{x-csrftoken} HTTP header.") + (license license:asl2.0))) + +(define-public python-asgi-lifespan + (package + (name "python-asgi-lifespan") + (version "1.0.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/florimondmanca/asgi-lifespan") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10a5ci9ddr8wnjf3wai7xifbbplirhyrgvw4p28q0ha63cvhb2j2")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-c" "/dev/null" ;ignore coverage-related options + "-k" + (string-append + ;; XXX: Some tests fail because of a 'lifespan.shutdown.failed' + ;; extra event, perhaps because our version of trio is older. + "not (test_lifespan_manager[asyncio-None-ValueError-None]" + " or test_lifespan_manager[asyncio-ValueError-None-None]" + " or test_lifespan_manager[asyncio-ValueError-ValueError-None]" + " or test_lifespan_manager[trio-None-ValueError-None]" + " or test_lifespan_manager[trio-ValueError-None-None]" + " or test_lifespan_manager[trio-ValueError-ValueError-None])")))) + (native-inputs (list python-pytest + python-pytest-asyncio + python-pytest-trio + python-starlette)) + (propagated-inputs (list python-sniffio)) + (home-page "https://github.com/florimondmanca/asgi-lifespan") + (synopsis "Programmatic startup/shutdown of ASGI apps") + (description "Programmatically send startup/shutdown lifespan events +into Asynchronous Server Gateway Interface (ASGI) applications. When +used in combination with an ASGI-capable HTTP client such as HTTPX, this +allows mocking or testing ASGI applications without having to spin up an +ASGI server.") + (license license:expat))) + (define-public python-css-html-js-minify (package (name "python-css-html-js-minify") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bf29f4d4b0..85105ce00a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -31635,6 +31635,24 @@ GeoJSON to WKT/WKB (Well-Known Text/Binary) or GeoPackage Binary, and vice versa. Extended WKB/WKT are also supported.") (license license:asl2.0))) +(define-public python-cogapp + (package + (name "python-cogapp") + (version "3.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "cogapp" version)) + (sha256 + (base32 + "1c0xx3p3lzrlyqhmccyq9c50f8v9pqk2992gb4nl50h2yy1m3s8v")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest)) + (home-page "https://nedbatchelder.com/code/cog") + (synopsis "Content generation tool that leverages Python") + (description "Cog is a file generation tool. It allows using pieces of +Python code as generators in your source files to generate arbitrary text.") + (license license:expat))) + (define-public python-bsdiff4 (package (name "python-bsdiff4") diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 277d2d2647..20d246be52 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com> +;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -221,6 +222,60 @@ in Zsh intelligently.") as you type.") (license license:expat))) +(define-public zsh-completions + (package + (name "zsh-completions") + (version "0.34.0") + (home-page "https://github.com/zsh-users/zsh-completions") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jjgvzj3v31yibjmq50s80s3sqi4d91yin45pvn3fpnihcrinam9")))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("src/" "share/zsh/site-functions/") + ("README.md" "share/doc/zsh-completions/")))) + (synopsis "Additional completion definitions for Zsh") + (description + "This projects aims at gathering/developing new completion scripts that +are not available in Zsh yet. The scripts may be contributed to the Zsh +project when stable enough.") + (license (license:non-copyleft "file://LICENSE" + "Custom BSD-like, permissive, non-copyleft license.")))) + +(define-public zsh-history-substring-search + (package + (name "zsh-history-substring-search") + (version "1.0.2") + (home-page "https://github.com/zsh-users/zsh-history-substring-search") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y")))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("zsh-history-substring-search.plugin.zsh" + "share/zsh/plugins/zsh-history-substring-search/") + ("zsh-history-substring-search.zsh" + "share/zsh/plugins/zsh-history-substring-search/") + ("README.md" "share/doc/zsh-history-substring-search/")))) + (synopsis "ZSH port of Fish history search (up arrow)") + (description + "This is a clean-room implementation of the Fish shell's history search +feature, where you can type in any part of any command from history and then +press chosen keys, such as the UP and DOWN arrows, to cycle through matches.") + (license license:bsd-3))) + (define-public zsh-syntax-highlighting (package (name "zsh-syntax-highlighting") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a5ea61b5de..93459f8051 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1299,14 +1299,14 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "0dji1iyf6x9vg6gjklzkb3x9vfydfi95idkvckj6208b1rwgwsj4")))) + "10rlx1ciyvh0ayic03kckv360idl9s1zyc2ar5lisns786c1hnns")))) (build-system r-build-system) (native-inputs (list pkg-config)) @@ -1317,7 +1317,6 @@ agnes cluster diagrams.") r-fontquiver r-gfonts r-htmltools - r-memoise r-rcpp r-systemfonts)) (home-page "https://cran.r-project.org/web/packages/gdtools") @@ -1816,13 +1815,13 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "1msfp29lbddwdv8ibc2nkan0g1g4y4w5fws6802v6h6x95g57c4c")))) + "1xxvspk1nyns39dp2fqvxbvvnkkz4rcgmhrcrznr3h1qpayj9p6z")))) (build-system r-build-system) (propagated-inputs (list r-cli @@ -1853,14 +1852,14 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "0a5cnh0fr81mak9ccqr91nsjqlxsnf6a2lmwrsgv7g1sjag0b4p1")))) + "1b3zf2ai4kp96wd6i4jg9b3n37bwbw7lfvxvs1i1kcn6brch1p0d")))) (build-system r-build-system) (propagated-inputs (list r-blob @@ -2649,17 +2648,17 @@ were originally a part of the r-devtools package.") (define-public r-hms (package (name "r-hms") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "hms" version)) (sha256 (base32 - "1vdx08irnh8q5232hriv47hh88hc55nbbrff7y6zbainff2akrhy")))) + "10h2k5j97fggq3hc0qzxv1q9821y21m326v3x99zsvpl1b3g89p6")))) (build-system r-build-system) (propagated-inputs - (list r-ellipsis r-lifecycle r-pkgconfig r-rlang r-vctrs)) + (list r-lifecycle r-pkgconfig r-rlang r-vctrs)) (home-page "https://github.com/rstats-db/hms") (synopsis "Pretty time of day") (description @@ -2857,18 +2856,19 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.20") + (version "2.21") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "178mc3dqm11y58k8jdhm1yi11bbl1h7bls9d8f94ngmlzjdhbxyp")))) + (base32 "0a5czn18clfnw0a9nd5v98ah4h47i32423s6jdf126ni4aj20ny2")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs (list r-bslib r-evaluate + r-fontawesome r-htmltools r-jquerylib r-jsonlite @@ -2890,13 +2890,13 @@ variety of formats.") (define-public r-gtable (package (name "r-gtable") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "gtable" version)) (sha256 (base32 - "1j162vkyvkyyz61smw36crgmd76jic17n9qfmn0cyvafzdyqyiwd")))) + "0fkv19h64cyxsadplvyzbpjliy9wlfg56hc8znvqg972g3cmi6ig")))) (properties `((upstream-name . "gtable"))) (build-system r-build-system) (propagated-inputs @@ -3009,13 +3009,13 @@ engine (version 3.8.8.2) is included.") (define-public r-rcurl (package (name "r-rcurl") - (version "1.98-1.10") + (version "1.98-1.12") (source (origin (method url-fetch) (uri (cran-uri "RCurl" version)) (sha256 (base32 - "1m7i0q9scrh2bfr0nqs029052kznhlv3siz9055pzdvgig7jnqjs")))) + "1ci6lsxm0f13yzw712gcbq23syl54x5llvhs2w1b8wwm9vqgx0qs")))) (properties `((upstream-name . "RCurl"))) (build-system r-build-system) (arguments @@ -3032,7 +3032,7 @@ if (certs != \"\") { .opts = merge.list(.opts, list(cainfo=certs)) } (native-inputs (list libxml2)) (inputs - (list curl zlib)) + (list curl)) (propagated-inputs (list r-bitops)) (home-page "https://www.omegahat.net/RCurl") @@ -3172,14 +3172,14 @@ statements.") (define-public r-segmented (package (name "r-segmented") - (version "1.6-2") + (version "1.6-3") (source (origin (method url-fetch) (uri (cran-uri "segmented" version)) (sha256 (base32 - "0livckkhci3w1x9xai2m0a30fj06qsks2qds7y5jr9vwx03jqg21")))) + "0x7k5ycbvnfqsygrcyaaxnl0060x6869b345xc697hhr9sfxb4ai")))) (build-system r-build-system) (propagated-inputs (list r-mass r-nlme)) (home-page "https://cran.r-project.org/web/packages/segmented") @@ -3801,13 +3801,13 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "4.1-6") + (version "4.1-7") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 - (base32 "0c3y9g3k0f0yclcffxzgfhfylb3py0iydhyspcjdrl44lb7cdi5y")))) + (base32 "1a7af2658z9fmx0rcdx401lj86q73qkvsvlfnrp2bw4xv43bd85k")))) (build-system r-build-system) (native-inputs (list gfortran r-knitr)) @@ -4307,14 +4307,14 @@ and tidyr provides no margins or aggregation.") (define-public r-hexbin (package (name "r-hexbin") - (version "1.28.2") + (version "1.28.3") (source (origin (method url-fetch) (uri (cran-uri "hexbin" version)) (sha256 (base32 - "0bbhs5pwxh474w62sq6gqvih7habancxng9wd4f2rgn6lv9zhhb2")))) + "0pyy97bh9xf9hijg3iw1z4ri01571r1fx7xqm3fjkzx4q48kbcqf")))) (build-system r-build-system) (propagated-inputs (list r-lattice)) @@ -5392,14 +5392,14 @@ can be efficiently implemented directly in the R language.") (define-public r-robustbase (package (name "r-robustbase") - (version "0.95-0") + (version "0.95-1") (source (origin (method url-fetch) (uri (cran-uri "robustbase" version)) (sha256 (base32 - "094pxwp78bmqyn6vncyzrazqxnn8abqsbzhlcq44avfz8qffmyjw")))) + "1sm37gqs35cvkacigsla8kzvpzjzsrgkabf58ymk9pzcndnx4b46")))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -5840,13 +5840,13 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.1-1") + (version "3.1-2") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 - (base32 "1g6jdcxl2aig6zirdn3k5l48sjmpljzy1aadnlr6mr6pxqamiicg")))) + (base32 "1j3l8r3j05769gdfrqz0n38xviq6pww1cjrgdd0fkj3sjy8k89l9")))) (build-system r-build-system) (propagated-inputs (list r-abind @@ -5988,14 +5988,14 @@ multivariate case.") (define-public r-tclust (package (name "r-tclust") - (version "1.5-2") + (version "1.5-4") (source (origin (method url-fetch) (uri (cran-uri "tclust" version)) (sha256 (base32 - "12vg9q35srddjidrn3q955xybn6ldraya35s4955ypj61arp89j9")))) + "1a3i6kvfzc2d6rdf75w03n5172jihhqa8mvzcb4m8l0w6mgdlm9b")))) (build-system r-build-system) ;; These are all suggested packages, not build dependencies. (propagated-inputs @@ -7356,16 +7356,16 @@ Neyman, 1936; cf. Spiller et al., 2012), etc.") (define-public r-mumin (package (name "r-mumin") - (version "1.47.1") + (version "1.47.5") (source (origin (method url-fetch) (uri (cran-uri "MuMIn" version)) (sha256 (base32 - "1xhsc9hmx2b3zqyvpjs64rs90ccrfcsglrq2mhh85mgplsnva8qj")))) + "0xqasb79lmdhff25zalzrpjwv6qs9qnxr54ypnqjjgshi96mbwvg")))) (properties `((upstream-name . "MuMIn"))) (build-system r-build-system) - (propagated-inputs (list r-matrix r-nlme)) + (propagated-inputs (list r-insight r-matrix r-nlme)) (home-page "https://cran.r-project.org/package=MuMIn") (synopsis "Multi-Model Inference") (description diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 40accf642d..b40e72c582 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016-2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -24,6 +24,7 @@ ;;; Copyright © 2022 Fabio Natali <me@fabionatali.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org> +;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -740,6 +741,37 @@ the autogenerated files @file{language.dat} and @file{language.def} (and default versions of those), etc.") (license license:knuth))) +(define-public texlive-dvipdfmx + (let ((template (simple-texlive-package + "texlive-dvipdfmx" + (list "doc/dvipdfm/" + "doc/dvipdfmx/" + "doc/man/man1/" + "dvipdfmx/" + "fonts/cmap/dvipdfmx/" + "fonts/map/dvipdfmx/") + (base32 + "04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz") + #:trivial? #t))) + (package + (inherit template) + (source + (origin + (inherit (package-source template)) + ;; This map file is supposed to be generated in a profile hook. + (snippet '(delete-file "fonts/map/dvipdfmx/updmap/kanjix.map")))) + (propagated-inputs (list texlive-glyphlist)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Extended version of dvipdfm") + (description + "Dvipdfmx (formerly dvipdfm-cjk) is a development of dvipdfm created to +support multi-byte character encodings and large character sets for East Asian +languages. Dvipdfmx, if \"called\" with the name dvipdfm, operates in a +\"dvipdfm compatibility\" mode, so that users of the both packages need only +keep one executable. A secondary design goal is to support as many \"PDF\" +features as does pdfTeX.") + (license license:gpl3+)))) + (define-public texlive-dvips (package (inherit (simple-texlive-package @@ -1623,6 +1655,60 @@ described in the TeXbook, together with various supporting files (some also discussed in the book).") (license license:knuth))) +(define-public texlive-halloweenmath + (let ((template (simple-texlive-package + "texlive-halloweenmath" + (list "doc/latex/halloweenmath/" + "source/latex/halloweenmath/" + "tex/latex/halloweenmath/") + (base32 + "1xq72k1p820b5q3haxf936g69p6gv34hr30870l96jnxa3ad7y05")))) + (package + (inherit template) + (outputs '("out" "doc")) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ #t) "latex/halloweenmath") + ((#:build-targets _ '()) '(list "halloweenmath.ins")) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ (chdir "source/latex/halloweenmath/"))) + (add-after 'chdir 'non-interactive-build + ;; When it realizes it cannot employ the usedir directive, the + ;; build process stops and waits for an input before inserting + ;; generated files in the working directory. Do not ask for + ;; an input. + (lambda _ + (substitute* "halloweenmath.ins" + (("\\Ask.*") "") + (("\\(your .*? will be ignored\\).*") "")))) + (replace 'copy-files + (lambda* (#:key inputs #:allow-other-keys) + (let ((origin (assoc-ref inputs "source")) + (source (string-append #$output + "/share/texmf-dist/source")) + (doc (string-append #$output:doc + "/share/texmf-dist/doc"))) + (copy-recursively (string-append origin "/source") source) + (copy-recursively (string-append origin "/doc") doc)))))))) + (native-inputs + (list texlive-bin + texlive-kpathsea + (texlive-updmap.cfg))) ;for psfonts.map + (propagated-inputs + (list texlive-amsmath texlive-pict2e)) + (home-page "https://ctan.org/pkg/halloweenmath") + (synopsis "Scary and creepy math symbols with AMS-LaTeX integration") + (description + "The package defines a handful of commands for typesetting mathematical +symbols of various kinds, ranging from large operators to extensible +arrow-like relations and growing arrow-like math accents that all draw from +the classic Halloween-related iconography (pumpkins, witches, ghosts, cats, +and so on) while being, at the same time, seamlessly integrated within the +rest of the mathematics produced by (AmS-)LaTeX.") + (license license:lppl1.3+)))) + (define-public texlive-hardwrap (package (inherit (simple-texlive-package @@ -3212,6 +3298,22 @@ verbatim mode; build \"example\" environments (showing both result and verbatim source).") (license license:lppl1.0+))) +(define-public texlive-glyphlist + (package + (inherit (simple-texlive-package + "texlive-glyphlist" + (list "fonts/map/glyphlist/") + (base32 + "12nmmyh77vr2622lzi11nm1z1k2bxs7jz018yl4rwjlpg0sxg1ja") + #:trivial? #t)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Adobe glyph list and TeX extensions") + (description + "This package provides a map between traditional Adobe glyph names and +Unicode points; it is maintained by Adobe. The additional +@file{texglyphlist.txt} is maintained as part of lcdf-typetools.") + (license license:asl2.0))) + (define-public texlive-graphics-def (package (inherit (simple-texlive-package @@ -4391,6 +4493,55 @@ T2* and X2 encodings. These encodings cover (between them) pretty much every language that is written in a Cyrillic alphabet.") (license license:lppl1.3c+))) +(define-public texlive-pict2e + (let ((template (simple-texlive-package + "texlive-pict2e" + (list "doc/latex/pict2e/" + "source/latex/pict2e/" + "tex/latex/pict2e/") + (base32 + "0pazv1khsgjhxc673qrhjrbzlkgmcj53qccb9hw7ygdajxrjc2ba")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ #t) "latex/pict2e") + ((#:build-targets _ '()) '(list "pict2e.ins")) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ (chdir "source/latex/pict2e/"))) + (add-after 'build 'build-doc + (lambda _ + (copy-file "p2e-drivers.dtx" "build/p2e-drivers.dtx") + (with-directory-excursion "build" + (invoke "pdflatex" "p2e-drivers.dtx") + (delete-file "p2e-drivers.dtx") + ;; texlive.tlpbd expects a "pict2e.cfg" configuration file + ;; instead of "pict2e-example.cfg". Please it. + (rename-file "pict2e-example.cfg" "pict2e.cfg")))) + (replace 'copy-files + (lambda* (#:key inputs #:allow-other-keys) + (let ((origin (assoc-ref inputs "source")) + (source (string-append #$output + "/share/texmf-dist/source")) + (doc (string-append #$output:doc + "/share/texmf-dist/doc"))) + (copy-recursively (string-append origin "/source") source) + (copy-recursively (string-append origin "/doc") doc)))))))) + (home-page "https://ctan.org/pkg/pict2e") + (native-inputs + (list (texlive-updmap.cfg))) + (synopsis "New implementation of picture commands") + (description + "This package extends the existing LaTeX @code{picture} environment, +using the familiar technique (the @code{graphics} and @code{color} packages) +of driver files (at present, drivers for dvips, pdfTeX, LuaTeX, XeTeX, VTeX, +dvipdfm, and dvipdfmx are available). The package documentation has a fair +number of examples of use, showing where things are improved by comparison +with the LaTeX @code{picture} environment.") + (license license:lppl1.3+)))) + (define-public texlive-psnfss (let ((template (simple-texlive-package "texlive-psnfss" @@ -5016,6 +5167,44 @@ corresponding italics: light, regular, medium, bold, ...") (license (list license:lppl license:silofl1.1)))) +(define-public texlive-firstaid + (let ((template (simple-texlive-package + "texlive-firstaid" + (list "/doc/latex/firstaid/" + "/source/latex/firstaid/" + "/tex/latex/firstaid/") + (base32 + "1ahn47kz8a2qdmzdfdgjanf6h5bn8f2rzp1zvwgjpk1plcix8k90")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ #t) "tex/latex/firstaid") + ((#:build-targets _ '()) '(list "firstaid.ins")) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ (chdir "source/latex/firstaid/"))) + (replace 'copy-files + (lambda* (#:key inputs #:allow-other-keys) + (let ((origin (assoc-ref inputs "source")) + (source (string-append #$output + "/share/texmf-dist/source")) + (doc (string-append #$output:doc + "/share/texmf-dist/doc"))) + (copy-recursively (string-append origin "/source") source) + (copy-recursively (string-append origin "/doc") doc)))))))) + (home-page "https://ctan.org/macros/latex/required/firstaid") + (synopsis + "First aid for external LaTeX files and packages that need updating") + (description + "This package contains some first aid for LaTeX packages or classes +that require updates because of internal changes to the LaTeX kernel that are +not yet reflected in the package's or class's code. The file +@file{latex2e-first-aid-for-external-files.ltx} provided by this package is +meant to be loaded during format generation and not by the user.") + (license license:lppl1.3c)))) + (define-public texlive-latex-ifplatform (package (name "texlive-latex-ifplatform") @@ -11269,6 +11458,24 @@ family and SGML-based languages. Xindy is highly configurable, both in markup terms and in terms of the collating order of the text being processed.") (license license:gpl2+))) +(define-public texlive-nth + (package + (inherit (simple-texlive-package + "texlive-nth" + (list "tex/generic/nth/") + (base32 + "0716sd99xjdkplm7jdmg4lx8lpfnnx6mxjp1l1sp2bfqcg73p4hm") + #:trivial? #t)) + (home-page "https://ctan.org/macros/generic/misc/nth.sty") + (synopsis "Generate English ordinal numbers") + (description + "The command @code{\\nth{<number>}} generates English ordinal numbers of +the form 1st, 2nd, 3rd, 4th, etc. LaTeX package options may specify that the +ordinal mark be superscripted, and that negative numbers may be treated; Plain +TeX users have no access to package options, so need to redefine macros for +these changes.") + (license license:public-domain))) + (define-public texlive-fmtcount (package (inherit (simple-texlive-package @@ -12307,6 +12514,50 @@ interest. Since most such counters are simply incremented when they are changed, the recorded value will usually be the maximum value.") (license license:lppl1.3c+))) +(define-public texlive-xetex + (package + (inherit (simple-texlive-package + "texlive-xetex" + (list "/doc/man/man1/xetex.1" + "/doc/man/man1/xelatex.1" + "/doc/xetex/base/" + "/fonts/misc/xetex/fontmapping/base/" + "/tex/xelatex/xetexconfig/") + (base32 + "1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q") + #:trivial? #t)) + (propagated-inputs + (list texlive-generic-atbegshi + texlive-latex-atveryend + texlive-babel + texlive-cm + texlive-dvipdfmx + texlive-etex + texlive-everyshi + texlive-firstaid + texlive-hyphen-base + texlive-latex-base + texlive-fonts-latex + texlive-latex-l3backend + texlive-latex-l3kernel + texlive-latex-l3packages + texlive-lm + texlive-tex-ini-files + texlive-tex-plain + texlive-unicode-data)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Extended variant of TeX for use with Unicode sources") + (description + "XeTeX is a TeX typesetting engine using Unicode and supporting modern font +technologies such as OpenType, TrueType or Apple Advanced Typography (AAT), +including OpenType mathematics fonts. XeTeX supports many extensions that +reflect its origins in linguistic research; it also supports micro-typography +(as available in pdfTeX). XeTeX was developed by the SIL (the first version +was specifically developed for those studying linguistics, and using Macintosh +computers). XeTeX's immediate output is an extended variant of DVI format, +which is ordinarily processed by a tightly bound processor (called +@code{xdvipdfmx}), that produces PDF.") + (license license:x11))) ;;; ;;; 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/tree-sitter.scm b/gnu/packages/tree-sitter.scm index 8dda7737ca..b91345bb36 100644 --- a/gnu/packages/tree-sitter.scm +++ b/gnu/packages/tree-sitter.scm @@ -301,6 +301,13 @@ will be used in description and synopsis." #:commit commit #:license (list license:asl2.0 license:expat)))) +(define-public tree-sitter-heex + (tree-sitter-grammar + "heex" "Heex" + "00330rgg67fq0d9gk1yswj78d9mn1jvvjmmy1k7cxpvm5993p3sw" + "0.6.0" + #:repository-url "https://github.com/phoenixframework/tree-sitter-heex")) + (define-public tree-sitter-bash (tree-sitter-grammar "bash" "Bash" diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index bcc68fbad2..4e52554b87 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1061,6 +1061,28 @@ experience.") (home-page "http://fluxbox.org/") (license license:expat))) +(define-public fbautostart + (package + (name "fbautostart") + (version "2.718281828") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paultag/fbautostart.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "13h6j5khi5axqhflzhayzgvyhxylmk5vsgin235ji440mzd516gz")))) + (build-system gnu-build-system) + (native-inputs + (list autoconf automake)) + (synopsis "XDG autostarter for Fluxbox window manager") + (description "This package provides an autostarter complaint with +the XDG Autostart specification.") + (home-page "https://github.com/paultag/fbautostart") + (license license:expat))) + (define-public fnott (package (name "fnott") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 5b0b3bb0ab..e063828d3b 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -40,7 +40,7 @@ (define-module (gnu services base) #:use-module (guix store) #:use-module (guix deprecation) - #:autoload (guix diagnostics) (warning &fix-hint) + #:autoload (guix diagnostics) (warning formatted-message &fix-hint) #:autoload (guix i18n) (G_) #:use-module (guix combinators) #:use-module (gnu services) @@ -246,7 +246,7 @@ kmscon-service-type pam-limits-service-type - pam-limits-service + pam-limits-service ; deprecated greetd-service-type greetd-configuration @@ -1588,17 +1588,13 @@ information on the configuration file syntax." (define pam-limits-service-type - (let ((security-limits - ;; Create /etc/security containing the provided "limits.conf" file. - (lambda (limits-file) - `(("security/limits.conf" - ,limits-file)))) - (pam-extension + (let ((pam-extension (lambda (pam) (let ((pam-limits (pam-entry (control "required") (module "pam_limits.so") - (arguments '("conf=/etc/security/limits.conf"))))) + (arguments + '("conf=/etc/security/limits.conf"))))) (if (member (pam-service-name pam) '("login" "greetd" "su" "slim" "gdm-password" "sddm" "sudo" "sshd")) @@ -1606,7 +1602,27 @@ information on the configuration file syntax." (inherit pam) (session (cons pam-limits (pam-service-session pam)))) - pam))))) + pam)))) + + ;; XXX: Using file-like objects is deprecated, use lists instead. + ;; This is to be reduced into the list? case when the deprecated + ;; code gets removed. + ;; Create /etc/security containing the provided "limits.conf" file. + (security-limits + (match-lambda + ((? file-like? obj) + (warning (G_ "Using file-like value for \ +'pam-limits-service-type' is deprecated~%")) + `(("security/limits.conf" ,obj))) + ((? list? lst) + `(("security/limits.conf" + ,(plain-file "limits.conf" + (string-join (map pam-limits-entry->string lst) + "\n" 'suffix))))) + (_ (raise + (formatted-message + (G_ "invalid input for 'pam-limits-service-type'~%"))))))) + (service-type (name 'limits) (extensions @@ -1616,9 +1632,11 @@ information on the configuration file syntax." (description "Install the specified resource usage limits by populating @file{/etc/security/limits.conf} and using the @code{pam_limits} -authentication module.")))) +authentication module.") + (default-value '())))) -(define* (pam-limits-service #:optional (limits '())) +(define-deprecated (pam-limits-service #:optional (limits '())) + pam-limits-service-type "Return a service that makes selected programs respect the list of pam-limits-entry specified in LIMITS via pam_limits.so." (service pam-limits-service-type diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 174c2f20d2..ed9d95f906 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -264,7 +264,6 @@ does not have a default value" field kind))) (serializer field-serializer) (default-value-thunk (lambda () - (display '#,(id #'stem #'% #'stem)) (if (maybe-value-set? (syntax->datum field-default)) field-default (configuration-missing-default-value diff --git a/gnu/system.scm b/gnu/system.scm index 48cc68f449..c17c6e4e98 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1201,15 +1201,7 @@ use 'plain-file' instead~%") ;; By default, applications that use D-Bus, such as Emacs, abort at startup ;; when /etc/machine-id is missing. Make sure these warnings are non-fatal. - ("DBUS_FATAL_WARNINGS" . "0") - - ;; XXX: Normally we wouldn't need to do this, but our glibc@2.23 package - ;; used to look things up in 'PREFIX/lib/locale' instead of - ;; '/run/current-system/locale' as was intended. Keep this hack around so - ;; that people who still have glibc@2.23-using packages in their profiles - ;; can use them correctly. - ;; TODO: Remove when glibc@2.23 is long gone. - ("GUIX_LOCPATH" . "/run/current-system/locale"))) + ("DBUS_FATAL_WARNINGS" . "0"))) ;; Ensure LST is a list of <setuid-program> records and warn otherwise. (define-with-syntax-properties (ensure-setuid-program-list (lst properties)) diff --git a/gnu/tests/pam.scm b/gnu/tests/pam.scm new file mode 100644 index 0000000000..5cf13d97d7 --- /dev/null +++ b/gnu/tests/pam.scm @@ -0,0 +1,97 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu tests pam) + #:use-module (gnu tests) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu system) + #:use-module (gnu system pam) + #:use-module (gnu system vm) + #:use-module (guix gexp) + #:use-module (ice-9 format) + #:export (%test-pam-limits + %test-pam-limits-deprecated)) + + +;;; +;;; pam-limits-service-type +;;; + +(define pam-limit-entries + (list + (pam-limits-entry "@realtime" 'both 'rtprio 99) + (pam-limits-entry "@realtime" 'both 'memlock 'unlimited))) + +(define (run-test-pam-limits config) + "Run tests in a os with pam-limits-service-type configured." + (define os + (marionette-operating-system + (simple-operating-system + (service pam-limits-service-type config)))) + + (define vm + (virtual-machine os)) + + (define name (format #f "pam-limit-service~:[~;-deprecated~]" + (file-like? config))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64)) + + (let ((marionette (make-marionette (list #$vm)))) + + (test-runner-current (system-test-runner #$output)) + + (test-begin #$name) + + (test-assert "/etc/security/limits.conf ready" + (wait-for-file "/etc/security/limits.conf" marionette)) + + (test-equal "/etc/security/limits.conf content matches" + #$(string-join (map pam-limits-entry->string pam-limit-entries) + "\n" 'suffix) + (marionette-eval + '(call-with-input-file "/etc/security/limits.conf" + get-string-all) + marionette)) + + (test-end))))) + + (gexp->derivation (string-append name "-test") test)) + +(define %test-pam-limits + (system-test + (name "pam-limits-service") + (description "Test that pam-limits-service can serialize its config +(as a list) to @file{limits.conf}.") + (value (run-test-pam-limits pam-limit-entries)))) + +(define %test-pam-limits-deprecated + (system-test + (name "pam-limits-service-deprecated") + (description "Test that pam-limits-service can serialize its config +(as a file-like object) to @file{limits.conf}.") + (value (run-test-pam-limits + (plain-file "limits.conf" + (string-join (map pam-limits-entry->string + pam-limit-entries) + "\n" 'suffix)))))) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 82014ee568..086cd363a9 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -246,11 +246,15 @@ of those files are returned that are unexpectedly installed." (define (tlpdb->package name version package-database) (and-let* ((data (assoc-ref package-database name)) (dirs (files->directories - (map (lambda (dir) - (string-drop dir (string-length "texmf-dist/"))) - (append (or (assoc-ref data 'docfiles) (list)) - (or (assoc-ref data 'runfiles) (list)) - (or (assoc-ref data 'srcfiles) (list)))))) + (filter-map (lambda (dir) + ;; Ignore any file not starting with the + ;; expected prefix. Nothing good can come + ;; from this. + (and (string-prefix? "texmf-dist/" dir) + (string-drop dir (string-length "texmf-dist/")))) + (append (or (assoc-ref data 'docfiles) (list)) + (or (assoc-ref data 'runfiles) (list)) + (or (assoc-ref data 'srcfiles) (list)))))) (name (guix-name name)) ;; TODO: we're ignoring the VERSION argument because that ;; information is distributed across %texlive-tag and @@ -260,6 +264,12 @@ of those files are returned that are unexpectedly installed." %texlive-tag "/Master/texmf-dist")) (locations dirs) (revision %texlive-revision))) + ;; Ignore arch-dependent packages. + (filtered-depends + (or (and=> (assoc-ref data 'depend) + (lambda (inputs) + (remove (cut string-suffix? ".ARCH" <>) inputs))) + '())) (source (with-store store (download-multi-svn-to-store store ref (string-append name "-svn-multi-checkout"))))) @@ -278,24 +288,25 @@ of those files are returned that are unexpectedly installed." ;; package->definition in (guix import utils) expects to see a ;; version field. (version ,version) - ,@(or (and=> (assoc-ref data 'depend) - (lambda (inputs) - `((propagated-inputs - (list ,@(map (lambda (tex-name) - (let ((name (guix-name tex-name))) - (string->symbol name))) - inputs)))))) - '()) - ,@(or (and=> (assoc-ref data 'catalogue-ctan) - (lambda (url) - `((home-page ,(string-append "https://ctan.org" url))))) + ,@(match filtered-depends + (() '()) + (inputs + `((propagated-inputs + (list ,@(map + (lambda (tex-name) + (let ((name (guix-name tex-name))) + (string->symbol name))) + inputs)))))) + ,@(or (and=> (assoc-ref data 'name) + (lambda (name) + `((home-page ,(string-append "https://ctan.org/pkg/" + name))))) '((home-page "https://www.tug.org/texlive/"))) (synopsis ,(assoc-ref data 'shortdesc)) - (description ,(beautify-description - (assoc-ref data 'longdesc))) - (license ,(string->license - (assoc-ref data 'catalogue-license)))) - (or (assoc-ref data 'depend) (list))))) + (description ,(and=> (assoc-ref data 'longdesc) beautify-description)) + (license ,(and=> (assoc-ref data 'catalogue-license) + string->license))) + filtered-depends))) (define texlive->guix-package (memoize |