aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
AgeCommit message (Collapse)Author
2023-03-19gnu: r-parsnip: Update to 1.0.4.Ricardo Wurmus
* gnu/packages/cran.scm (r-parsnip): Update to 1.0.4.
2023-03-19gnu: r-workflows: Update to 1.1.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-workflows): Update to 1.1.3.
2023-03-19gnu: r-igraph: Update to 1.4.1.Ricardo Wurmus
* gnu/packages/cran.scm (r-igraph): Update to 1.4.1. [native-inputs]: Add r-knitr.
2023-03-19gnu: r-rfast: Update to 2.0.7.Ricardo Wurmus
* gnu/packages/cran.scm (r-rfast): Update to 2.0.7.
2023-03-19gnu: r-spatstat-random: Update to 3.1-4.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-random): Update to 3.1-4.
2023-03-19gnu: r-spatstat-linnet: Update to 3.0-6.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-linnet): Update to 3.0-6.
2023-03-19gnu: r-spatstat-geom: Update to 3.1-0.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-geom): Update to 3.1-0.
2023-03-19gnu: r-spatstat-data: Update to 3.0-1.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-data): Update to 3.0-1.
2023-03-19gnu: r-spatstat-sparse: Update to 3.0-1.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-sparse): Update to 3.0-1.
2023-03-19gnu: r-spatstat-utils: Update to 3.0-2.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-utils): Update to 3.0-2.
2023-03-19gnu: r-spatstat-model: Update to 3.2-1.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-model): Update to 3.2-1.
2023-03-19gnu: r-spatstat-explore: Update to 3.1-0.Ricardo Wurmus
* gnu/packages/cran.scm (r-spatstat-explore): Update to 3.1-0.
2023-03-19gnu: r-conquer: Update to 1.3.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-conquer): Update to 1.3.3.
2023-03-19gnu: r-brms: Update to 2.19.0.Ricardo Wurmus
* gnu/packages/cran.scm (r-brms): Update to 2.19.0. [propagated-inputs]: Add r-rlang. [native-inputs]: Add r-r-rsp.
2023-03-19gnu: r-posterior: Update to 1.4.1.Ricardo Wurmus
* gnu/packages/cran.scm (r-posterior): Update to 1.4.1.
2023-03-19gnu: r-projpred: Update to 2.4.0.Ricardo Wurmus
* gnu/packages/cran.scm (r-projpred): Update to 2.4.0. [propagated-inputs]: Add r-abind, r-mclogit, r-nnet, r-ordinal, and r-ucminf. [native-inputs]: Add r-rmarkdown.
2023-03-19gnu: r-rstantools: Update to 2.3.0.Ricardo Wurmus
* gnu/packages/cran.scm (r-rstantools): Update to 2.3.0.
2023-03-19gnu: r-packrat: Update to 0.9.1.Ricardo Wurmus
* gnu/packages/cran.scm (r-packrat): Update to 0.9.1.
2023-03-19gnu: r-butcher: Update to 0.3.2.Ricardo Wurmus
* gnu/packages/cran.scm (r-butcher): Update to 0.3.2.
2023-03-19gnu: r-forecast: Update to 8.21.Ricardo Wurmus
* gnu/packages/cran.scm (r-forecast): Update to 8.21.
2023-03-19gnu: r-anthropometry: Update to 1.19.Ricardo Wurmus
* gnu/packages/cran.scm (r-anthropometry): Update to 1.19. [propagated-inputs]: Remove r-depth; add r-ddalpha.
2023-03-19gnu: r-tuner: Update to 1.4.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-tuner): Update to 1.4.3.
2023-03-19gnu: r-reldist: Update to 1.7-2.Ricardo Wurmus
* gnu/packages/cran.scm (r-reldist): Update to 1.7-2.
2023-03-19gnu: r-desolve: Update to 1.35.Ricardo Wurmus
* gnu/packages/cran.scm (r-desolve): Update to 1.35.
2023-03-19gnu: r-rgdal: Update to 1.6-5.Ricardo Wurmus
* gnu/packages/cran.scm (r-rgdal): Update to 1.6-5.
2023-03-19gnu: r-terra: Update to 1.7-18.Ricardo Wurmus
* gnu/packages/cran.scm (r-terra): Update to 1.7-18.
2023-03-19gnu: r-rhpcblasctl: Update to 0.23-42.Ricardo Wurmus
* gnu/packages/cran.scm (r-rhpcblasctl): Update to 0.23-42.
2023-03-19gnu: r-dae: Update to 3.2.15.Ricardo Wurmus
* gnu/packages/cran.scm (r-dae): Update to 3.2.15.
2023-03-19gnu: r-styler: Update to 1.9.1.Ricardo Wurmus
* gnu/packages/cran.scm (r-styler): Update to 1.9.1.
2023-03-19gnu: r-sccore: Update to 1.0.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-sccore): Update to 1.0.3.
2023-03-19gnu: r-float: Update to 0.3-1.Ricardo Wurmus
* gnu/packages/cran.scm (r-float): Update to 0.3-1.
2023-03-19gnu: r-arrow: Update to 11.0.0.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-arrow): Update to 11.0.0.3. [native-inputs]: Remove r-knitr.
2023-03-19gnu: apache-arrow: Update to 11.0.0.Ricardo Wurmus
* gnu/packages/databases.scm (apache-arrow): Update to 11.0.0.
2023-03-19gnu: r-aplot: Update to 0.1.10.Ricardo Wurmus
* gnu/packages/cran.scm (r-aplot): Update to 0.1.10.
2023-03-19gnu: r-triebeard: Update to 0.4.1.Ricardo Wurmus
* gnu/packages/cran.scm (r-triebeard): Update to 0.4.1. [native-inputs]: Add r-knitr.
2023-03-19gnu: r-rms: Update to 6.5-0.Ricardo Wurmus
* gnu/packages/cran.scm (r-rms): Update to 6.5-0. [propagated-inputs]: Add r-colorspace.
2023-03-19gnu: r-pegas: Update to 1.2.Ricardo Wurmus
* gnu/packages/cran.scm (r-pegas): Update to 1.2.
2023-03-19gnu: r-spdep: Update to 1.2-8.Ricardo Wurmus
* gnu/packages/cran.scm (r-spdep): Update to 1.2-8.
2023-03-19gnu: r-spdata: Update to 2.2.2.Ricardo Wurmus
* gnu/packages/cran.scm (r-spdata): Update to 2.2.2.
2023-03-19gnu: r-classint: Update to 0.4-9.Ricardo Wurmus
* gnu/packages/cran.scm (r-classint): Update to 0.4-9.
2023-03-19gnu: r-sets: Update to 1.0-24.Ricardo Wurmus
* gnu/packages/cran.scm (r-sets): Update to 1.0-24.
2023-03-19gnu: r-lavaan: Update to 0.6-15.Ricardo Wurmus
* gnu/packages/cran.scm (r-lavaan): Update to 0.6-15. [propagated-inputs]: Add r-quadprog.
2023-03-19gnu: r-future: Update to 1.32.0.Ricardo Wurmus
* gnu/packages/cran.scm (r-future): Update to 1.32.0.
2023-03-19gnu: r-grimport: Update to 0.9-7.Ricardo Wurmus
* gnu/packages/cran.scm (r-grimport): Update to 0.9-7.
2023-03-19gnu: r-gridsvg: Update to 1.7-5.Ricardo Wurmus
* gnu/packages/cran.scm (r-gridsvg): Update to 1.7-5.
2023-03-19gnu: r-admisc: Update to 0.31.Ricardo Wurmus
* gnu/packages/cran.scm (r-admisc): Update to 0.31.
2023-03-19gnu: r-adimpro: Update to 0.9.5.Ricardo Wurmus
* gnu/packages/cran.scm (r-adimpro): Update to 0.9.5.
2023-03-19gnu: r-fmri: Update to 1.9.11.Ricardo Wurmus
* gnu/packages/cran.scm (r-fmri): Update to 1.9.11. [propagated-inputs]: Add r-oro-nifti.
2023-03-19gnu: r-activity: Update to 1.3.3.Ricardo Wurmus
* gnu/packages/cran.scm (r-activity): Update to 1.3.3. [propagated-inputs]: Remove r-insol.
2023-03-19gnu: r-biocmanager: Update to 1.30.20.Ricardo Wurmus
* gnu/packages/cran.scm (r-biocmanager): Update to 1.30.20.
default-package-database-update-schedule) "String or G-exp denoting an mcron schedule for the periodic @command{guix locate --update} job (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron}).") (method (symbol 'store) "Indexing method for @command{guix locate}. The default value, @code{'store}, yields a more complete database but is relatively expensive in terms of CPU and input/output.") (channels (gexp #~%default-channels) "G-exp denoting the channels to use when updating the database (@pxref{Channels}).")) (define (package-database-mcron-jobs configuration) (match-record configuration <package-database-configuration> (package schedule method channels) (let ((channels (scheme-file "channels.scm" channels))) (list #~(job #$schedule ;; XXX: The whole thing's running as "root" just because it ;; needs write access to /var/cache/guix/locate. (string-append #$(file-append package "/bin/guix") " time-machine -C " #$channels " -- locate --update --method=" #$(symbol->string method))))))) (define package-database-service-type (service-type (name 'package-database) (extensions (list (service-extension mcron-service-type package-database-mcron-jobs))) (description "Periodically update the package database used by the @code{guix locate} command, which lets you search for packages that provide a given file.") (default-value (package-database-configuration)))) ;;; ;;; Unattended upgrade. ;;; (define-record-type* <unattended-upgrade-configuration> unattended-upgrade-configuration make-unattended-upgrade-configuration unattended-upgrade-configuration? (operating-system-file unattended-upgrade-operating-system-file (default "/run/current-system/configuration.scm")) (operating-system-expression unattended-upgrade-operating-system-expression (default #f)) (schedule unattended-upgrade-configuration-schedule (default "30 01 * * 0")) (channels unattended-upgrade-configuration-channels (default #~%default-channels)) (reboot? unattended-upgrade-configuration-reboot? (default #f)) (services-to-restart unattended-upgrade-configuration-services-to-restart (default '(unattended-upgrade))) (system-expiration unattended-upgrade-system-expiration (default (* 3 30 24 3600))) (maximum-duration unattended-upgrade-maximum-duration (default 3600)) (log-file unattended-upgrade-configuration-log-file (default %unattended-upgrade-log-file))) (define %unattended-upgrade-log-file "/var/log/unattended-upgrade.log") (define (unattended-upgrade-shepherd-services config) (define channels (scheme-file "channels.scm" (unattended-upgrade-configuration-channels config))) (define log (unattended-upgrade-configuration-log-file config)) (define schedule (unattended-upgrade-configuration-schedule config)) (define services (unattended-upgrade-configuration-services-to-restart config)) (define reboot? (unattended-upgrade-configuration-reboot? config)) (define expiration (unattended-upgrade-system-expiration config)) (define config-file (unattended-upgrade-operating-system-file config)) (define expression (unattended-upgrade-operating-system-expression config)) (define arguments (if expression #~(list "-e" (object->string '#$expression)) #~(list #$config-file))) (define code (with-imported-modules (source-module-closure '((guix build utils) (gnu services herd))) #~(begin (use-modules (guix build utils) (gnu services herd) (srfi srfi-34)) (setvbuf (current-output-port) 'line) (setvbuf (current-error-port) 'line) ;; 'guix time-machine' needs X.509 certificates to authenticate the ;; Git host. (setenv "SSL_CERT_DIR" #$(file-append nss-certs "/etc/ssl/certs")) (format #t "starting upgrade...~%") (guard (c ((invoke-error? c) (report-invoke-error c))) (apply invoke #$(file-append guix "/bin/guix") "time-machine" "-C" #$channels "--" "system" "reconfigure" #$arguments) ;; 'guix system delete-generations' fails when there's no ;; matching generation. Thus, catch 'invoke-error?'. (guard (c ((invoke-error? c) (report-invoke-error c))) (invoke #$(file-append guix "/bin/guix") "system" "delete-generations" #$(string-append (number->string expiration) "s"))) (unless #$reboot? ;; Rebooting effectively restarts services anyway and execution ;; would be halted here if mcron is restarted. (format #t "restarting services...~%") (for-each restart-service '#$services)) ;; XXX: If this service has been restarted, this is not reached. (format #t "upgrade complete~%") ;; Stopping the root shepherd service triggers a reboot. (when #$reboot? (format #t "rebooting system~%") (force-output) ;ensure the entire log is written. (stop-service 'root)))))) (define upgrade (program-file "unattended-upgrade" code)) (list (shepherd-service (provision '(unattended-upgrade)) (requirement '(user-processes networking)) (modules '((shepherd service timer))) (start #~(make-timer-constructor #$(if (string? schedule) #~(cron-string->calendar-event #$schedule) schedule) (command '(#$upgrade)) #:log-file #$log ;; Make sure the upgrade doesn't take too long. #:max-duration #$(unattended-upgrade-maximum-duration config) ;; Wait for the previous attempt to terminate before trying ;; again. #:wait-for-termination? #t)) (stop #~(make-timer-destructor)) (actions (list (shepherd-action (name 'trigger) (documentation "Trigger unattended system upgrade.") (procedure #~trigger-timer))))))) (define unattended-upgrade-service-type (service-type (name 'unattended-upgrade) (extensions (list (service-extension shepherd-root-service-type unattended-upgrade-shepherd-services))) (description "Periodically upgrade the system from the current configuration.") (default-value (unattended-upgrade-configuration)))) ;;; ;;; Resize file system. ;;; (define-record-type* <resize-file-system-configuration> resize-file-system-configuration make-resize-file-system-configuration resize-file-system-configuration? (file-system resize-file-system-file-system) (cloud-utils resize-file-system-cloud-utils (default cloud-utils)) (e2fsprogs resize-file-system-e2fsprogs (default e2fsprogs)) (btrfs-progs resize-file-system-btrfs-progs (default btrfs-progs)) (bcachefs-tools resize-file-system-bcachefs-tools (default bcachefs-tools))) (define (resize-file-system-shepherd-service config) "Returns a <shepherd-service> for resize-file-system-service for CONFIG." (match-record config <resize-file-system-configuration> (file-system cloud-utils e2fsprogs btrfs-progs bcachefs-tools) (let ((fs-spec (file-system->spec file-system))) (shepherd-service (documentation "Resize a file system. Intended for Guix Systems that are booted from a system image flashed onto a larger medium.") ;; XXX: This could be extended with file-system info. (provision '(resize-file-system)) (requirement '(user-processes)) (one-shot? #t) (respawn? #f) (modules '((guix build utils) (gnu build file-systems) (gnu system file-systems) (ice-9 control) (ice-9 match) (ice-9 ftw) (ice-9 rdelim) (srfi srfi-34))) (start (with-imported-modules (source-module-closure '((guix build utils) (gnu build file-systems) (gnu system file-systems))) #~(lambda _ (use-modules (guix build utils) (gnu build file-systems) (gnu system file-systems) (ice-9 control) (ice-9 match) (ice-9 ftw) (ice-9 rdelim) (srfi srfi-34)) (define file-system (spec->file-system '#$fs-spec)) ;; Shepherd recommends the start constructor takes <1 ;; minute, canonicalize-device-spec will hang for up to ;; max-trials seconds (20 seconds) if an invalid device is ;; connected. Revisit this if max-trials increases. (define device (canonicalize-device-spec (file-system-device file-system))) (define grow-partition-command (let* ((sysfs-device (string-append "/sys/class/block/" (basename device))) (partition-number (with-input-from-file (string-append sysfs-device "/partition") read-line)) (parent (string-append "/dev/" (basename (dirname (readlink sysfs-device)))))) (list #$(file-append cloud-utils "/bin/growpart") parent partition-number))) (define grow-filesystem-command (match (file-system-type file-system) ((or "ext2" "ext3" "ext4") (list #$(file-append e2fsprogs "/sbin/resize2fs") device)) ("btrfs" (list #$(file-append btrfs-progs "/bin/btrfs") "filesystem" "resize" device)) ("bcachefs" (list #$(file-append bcachefs-tools "/sbin/bcachefs") "device" "resize" device)) (e (error "Unsupported filesystem type" e)))) (let/ec return (guard (c ((and (invoke-error? c) ;; growpart NOCHANGE exits with 1. It is ;; unlikely the partition was resized ;; while the file system was not. Just ;; exit. (equal? (invoke-error-exit-status c) 1)) (format (current-error-port) "The device ~a is already resized.~%" device) ;; Must return something or Shepherd considers ;; the service perpetually starting. (return 0))) (apply invoke grow-partition-command)) (apply invoke grow-filesystem-command))))))))) (define resize-file-system-service-type (service-type (name 'resize-file-system) (description "Resize a partition and the underlying file system during boot.") (extensions (list (service-extension shepherd-root-service-type (compose list resize-file-system-shepherd-service)))))) ;;; admin.scm ends here