From 27237344d368d84f037c7a7670242d5420181a78 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Fri, 21 Oct 2022 03:59:21 -0400 Subject: gnu: Add rust-1.61. * gnu/packages/rust.scm (rust-1.61): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index c4bb7d5292..a1690e202f 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -607,6 +607,10 @@ safety and thread safety guarantees.") ;; * error: unknown codegen option: `symbol-mangling-version` rust-1.59 "1.60.0" "1drqr0a26x1rb2w3kj0i6abhgbs3jx5qqkrcwbwdlx7n3inq5ji0")) +(define rust-1.61 + (rust-bootstrapped-package + rust-1.60 "1.61.0" "1vfs05hkf9ilk19b2vahqn8l6k17pl9nc1ky9kgspaascx8l62xd")) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time -- cgit v1.2.3 From f0ccfcc0a70b7c553cfa24d2b27088f3f4b9ef6b Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 18:09:44 +0200 Subject: gnu: Add rust-1.62. * gnu/packages/rust.scm (rust-1.62): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a1690e202f..835902d2f9 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -611,6 +611,10 @@ safety and thread safety guarantees.") (rust-bootstrapped-package rust-1.60 "1.61.0" "1vfs05hkf9ilk19b2vahqn8l6k17pl9nc1ky9kgspaascx8l62xd")) +(define rust-1.62 + (rust-bootstrapped-package + rust-1.61 "1.62.1" "0gqkg34ic77dcvsz69qbdng6g3zfhl6hnhx7ha1mjkyrzipvxb3j")) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time -- cgit v1.2.3 From 9a27b61d3792656fe626ef8b9483ea6f16a1eaa3 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 18:10:25 +0200 Subject: gnu: Add rust-1.63. * gnu/packages/rust.scm (rust-1.63): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 835902d2f9..ac3cbc1801 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -615,6 +615,10 @@ safety and thread safety guarantees.") (rust-bootstrapped-package rust-1.61 "1.62.1" "0gqkg34ic77dcvsz69qbdng6g3zfhl6hnhx7ha1mjkyrzipvxb3j")) +(define rust-1.63 + (rust-bootstrapped-package + rust-1.62 "1.63.0" "1l4rrbzhxv88pnfq94nbyb9m6lfnjwixma3mwjkmvvs2aqlq158z")) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time -- cgit v1.2.3 From b4762e1e87266dfe112fbb0fafea17da1737f995 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Nov 2022 16:28:13 +0200 Subject: gnu: Add rust-1.64. * gnu/packages/rust.scm (rust-1.64): New variable. --- gnu/packages/rust.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index ac3cbc1801..e162900acf 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -619,6 +619,24 @@ safety and thread safety guarantees.") (rust-bootstrapped-package rust-1.62 "1.63.0" "1l4rrbzhxv88pnfq94nbyb9m6lfnjwixma3mwjkmvvs2aqlq158z")) +(define rust-1.64 + (let ((base-rust + (rust-bootstrapped-package + rust-1.63 "1.64.0" "018j720b2n12slp4xk64jc6shkncd46d621qdyzh2a8s3r49zkdk"))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (replace 'patch-cargo-checksums + (lambda* _ + (substitute* '("Cargo.lock" + "src/bootstrap/Cargo.lock") + (("(checksum = )\".*\"" all name) + (string-append name "\"" ,%cargo-reference-hash "\""))) + (generate-all-checksums "vendor")))))))))) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time -- cgit v1.2.3 From 45ae3c830fec8022e077538c72ce59b7df45e8a1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 15 Nov 2022 18:12:11 +0200 Subject: gnu: Add rust-1.65. * gnu/packages/rust.scm (rust-1.65): New variable. --- gnu/packages/rust.scm | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index e162900acf..bfa5e1bc68 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -637,6 +637,10 @@ safety and thread safety guarantees.") (string-append name "\"" ,%cargo-reference-hash "\""))) (generate-all-checksums "vendor")))))))))) +(define rust-1.65 + (rust-bootstrapped-package + rust-1.64 "1.65.0" "0f005kc0vl7qyy298f443i78ibz71hmmh820726bzskpyrkvna2q")) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time -- cgit v1.2.3 From 0bb872b379a98e4523c8f8d946e581bad1c4c323 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 25 Oct 2022 23:17:09 -0400 Subject: install: Validate symlink target in evaluate-populate-directive. * gnu/build/install.scm (evaluate-populate-directive): By default, error when the target of a symlink doesn't exist. Always ensure TARGET ends with "/". (populate-root-file-system): Call evaluate-populate-directive with #:error-on-dangling-symlink #t and add comment. --- gnu/build/install.scm | 60 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/build/install.scm b/gnu/build/install.scm index f5c8407b89..33a9616c0d 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Chris Marusich +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,19 +57,24 @@ that the fonts, background images, etc. referred to by BOOTCFG are not GC'd." (define* (evaluate-populate-directive directive target #:key (default-gid 0) - (default-uid 0)) + (default-uid 0) + (error-on-dangling-symlink? #t)) "Evaluate DIRECTIVE, an sexp describing a file or directory to create under directory TARGET. DEFAULT-UID and DEFAULT-GID are the default UID and GID in the context of the caller. If the directive matches those defaults then, -'chown' won't be run." +'chown' won't be run. When ERROR-ON-DANGLING-SYMLINK? is true, abort with an +error when a dangling symlink would be created." + (define target* (if (string-suffix? "/" target) + target + (string-append target "/"))) (let loop ((directive directive)) (catch 'system-error (lambda () (match directive (('directory name) - (mkdir-p (string-append target name))) + (mkdir-p (string-append target* name))) (('directory name uid gid) - (let ((dir (string-append target name))) + (let ((dir (string-append target* name))) (mkdir-p dir) ;; If called from a context without "root" permissions, "chown" ;; to root will fail. In that case, do not try to run "chown" @@ -78,27 +84,38 @@ the context of the caller. If the directive matches those defaults then, (chown dir uid gid)))) (('directory name uid gid mode) (loop `(directory ,name ,uid ,gid)) - (chmod (string-append target name) mode)) + (chmod (string-append target* name) mode)) (('file name) - (call-with-output-file (string-append target name) + (call-with-output-file (string-append target* name) (const #t))) (('file name (? string? content)) - (call-with-output-file (string-append target name) + (call-with-output-file (string-append target* name) (lambda (port) (display content port)))) ((new '-> old) - (let try () - (catch 'system-error - (lambda () - (symlink old (string-append target new))) - (lambda args - ;; When doing 'guix system init' on the current '/', some - ;; symlinks may already exists. Override them. - (if (= EEXIST (system-error-errno args)) - (begin - (delete-file (string-append target new)) - (try)) - (apply throw args)))))))) + (let ((new* (string-append target* new))) + (let try () + (catch 'system-error + (lambda () + (when error-on-dangling-symlink? + ;; When the symbolic link points to a relative path, + ;; checking if its target exists must be done relatively + ;; to the link location. + (unless (if (string-prefix? "/" old) + (file-exists? old) + (with-directory-excursion (dirname new*) + (file-exists? old))) + (error (format #f "symlink `~a' points to nonexistent \ +file `~a'" new* old)))) + (symlink old new*)) + (lambda args + ;; When doing 'guix system init' on the current '/', some + ;; symlinks may already exists. Override them. + (if (= EEXIST (system-error-errno args)) + (begin + (delete-file new*) + (try)) + (apply throw args))))))))) (lambda args ;; Usually we can only get here when installing to an existing root, ;; as with 'guix system init foo.scm /'. @@ -142,7 +159,10 @@ STORE." includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM. EXTRAS is a list of directives appended to the built-in directives to populate TARGET." - (for-each (cut evaluate-populate-directive <> target) + ;; It's expected that some symbolic link targets do not exist yet, so do not + ;; error on dangling links. + (for-each (cut evaluate-populate-directive <> target + #:error-on-dangling-symlink? #f) (append (directives (%store-directory)) extras)) ;; Add system generation 1. -- cgit v1.2.3 From 543d971ed2a1d9eb934af1f51930741d7cc4e7ef Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 28 Oct 2022 17:06:16 -0400 Subject: services: configuration: Re-order generated record fields. This is so that the first field of the generated record matches the first one declared, which makes 'define-configuration' record API compatible with define-record-type* ones. * gnu/services/configuration.scm (define-configuration-helper): Move the %location field below the ones declared by the user. * gnu/services/monitoring.scm (zabbix-front-end-config): Adjust match pattern accordingly. --- gnu/services/configuration.scm | 10 +++++----- gnu/services/monitoring.scm | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 636c49ccba..dacfc52ba9 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -242,17 +242,17 @@ does not have a default value" field kind))) stem #,(id #'stem #'make- #'stem) #,(id #'stem #'stem #'?) - (%location #,(id #'stem #'stem #'-location) - (default (and=> (current-source-location) - source-properties->location)) - (innate)) #,@(map (lambda (name getter def) #`(#,name #,getter (default #,def) (sanitize #,(id #'stem #'validate- #'stem #'- name)))) #'(field ...) #'(field-getter ...) - #'(field-default ...))) + #'(field-default ...)) + (%location #,(id #'stem #'stem #'-location) + (default (and=> (current-source-location) + source-properties->location)) + (innate))) (define #,(id #'stem #'stem #'-fields) (list (configuration-field diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index 9c8704092c..b19c6c9f18 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -622,8 +622,8 @@ create it manually.") (define (zabbix-front-end-config config) (match-record config - (%location db-host db-port db-name db-user db-password db-secret-file - zabbix-host zabbix-port) + (db-host db-port db-name db-user db-password db-secret-file + zabbix-host zabbix-port %location) (mixed-text-file "zabbix.conf.php" "\ Date: Fri, 28 Oct 2022 11:05:03 -0400 Subject: services: mcron: Add log? and log-format fields to mcron-configuration. * gnu/services/mcron.scm (list-of-gexps?): New predicate. (mcron-configuration): Rewrite using define-configuration. [log?, log-format]: New fields. (mcron-shepherd-services): Invoke mcron with the --log and --log-format arguments when log? is #t, (generate-doc): New procedure. * doc/guix.texi (Scheduled Job Execution): Update doc. (Mcron Home Service): Likewise. * gnu/home/services/mcron.scm: Keep in sync with the above changes to gnu/services/mcron.scm. --- doc/guix.texi | 45 ++++++++++++++++++++++++++++++++++--------- gnu/home/services/mcron.scm | 47 ++++++++++++++++++++++++++++++++++----------- gnu/services/mcron.scm | 47 ++++++++++++++++++++++++++++++++++----------- 3 files changed, 108 insertions(+), 31 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 4d974be53e..ef3b8e127e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19019,20 +19019,33 @@ words, it is possible to define services that provide additional mcron jobs to run. @end defvr +@c Generated via (generate-documentation) at the bottom of (gnu services +@c mcron). +@c %start of fragment @deftp {Data Type} mcron-configuration -Data type representing the configuration of mcron. +Available @code{mcron-configuration} fields are: @table @asis -@item @code{mcron} (default: @var{mcron}) +@item @code{mcron} (default: @code{mcron}) (type: file-like) The mcron package to use. -@item @code{jobs} +@item @code{jobs} (default: @code{()}) (type: list-of-gexps) This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}). +specifications,, mcron,GNU@tie{}mcron}). + +@item @code{log?} (default: @code{#t}) (type: boolean) +Log messages to standard output. + +@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) +@code{(ice-9 format)} format string for log messages. The default value +produces messages like "@samp{@var{pid} @var{name}: @var{message}"} +(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message +is also prefixed by a timestamp by GNU Shepherd. + @end table @end deftp - +@c %end of fragment @node Log Rotation @subsection Log Rotation @@ -41068,18 +41081,32 @@ jobs to run. @end defvr @deftp {Data Type} home-mcron-configuration -Data type representing the configuration of mcron. +Available @code{home-mcron-configuration} fields are: +@c Auto-generated with (gnu home services mcron)'s +@c generate-documentation procedure. +@c %start of fragment @table @asis -@item @code{mcron} (default: @var{mcron}) +@item @code{mcron} (default: @code{mcron}) (type: file-like) The mcron package to use. -@item @code{jobs} +@item @code{jobs} (default: @code{()}) (type: list-of-gexps) This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}). +specifications,, mcron,GNU@tie{}mcron}). + +@item @code{log?} (default: @code{#t}) (type: boolean) +Log messages to standard output. + +@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) +@code{(ice-9 format)} format string for log messages. The default value +produces messages like "@samp{@var{pid} @var{name}: @var{message}"} +(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message +is also prefixed by a timestamp by GNU Shepherd. + @end table @end deftp +@c %end of fragment @node Power Management Home Services @subsection Power Management Home Services diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index 0b3dbb810b..1d294a997c 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (gnu home services mcron) #:use-module (gnu packages guile-xyz) #:use-module (gnu home services) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu home services shepherd) #:use-module (guix records) @@ -53,13 +55,23 @@ ;; ;;; Code: -(define-record-type* home-mcron-configuration - make-home-mcron-configuration - home-mcron-configuration? - (package home-mcron-configuration-package ; package - (default mcron)) - (jobs home-mcron-configuration-jobs ; list of jobs - (default '()))) +(define list-of-gexps? + (list-of gexp?)) + +(define-configuration/no-serialization home-mcron-configuration + (mcron (file-like mcron) "The mcron package to use.") + (jobs + (list-of-gexps '()) + "This is a list of gexps (@pxref{G-Expressions}), where each gexp +corresponds to an mcron job specification (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}).") + (log? (boolean #t) "Log messages to standard output.") + (log-format + (string "~1@*~a ~a: ~a~%") + "@code{(ice-9 format)} format string for log messages. The default value +produces messages like \"@samp{@var{pid} @var{name}: +@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). +Each message is also prefixed by a timestamp by GNU Shepherd.")) (define job-files (@@ (gnu services mcron) job-files)) (define shepherd-schedule-action @@ -69,19 +81,23 @@ (match-lambda (($ mcron '()) ; no jobs to run '()) - (($ mcron jobs) + (($ mcron jobs log? log-format) (let ((files (job-files mcron jobs))) (list (shepherd-service (documentation "User cron jobs.") (provision '(mcron)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ; for the 'schedule' action + (ice-9 popen) ; for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list #$(file-append mcron "/bin/mcron") #$@files) + (list (string-append #$mcron "/bin/mcron") + #$@(if log? + #~("--log" "--log-format" #$log-format) + #~()) + #$@files) #:log-file (string-append (or (getenv "XDG_LOG_HOME") (format #f "~a/.local/var/log" @@ -91,7 +107,7 @@ (actions (list (shepherd-schedule-action mcron files))))))))) -(define home-mcron-profile (compose list home-mcron-configuration-package)) +(define home-mcron-profile (compose list home-mcron-configuration-mcron)) (define (home-mcron-extend config jobs) (home-mcron-configuration @@ -113,3 +129,12 @@ (default-value (home-mcron-configuration)) (description "Install and configure the GNU mcron cron job manager."))) + + +;;; +;;; Generate documentation. +;;; +(define (generate-doc) + (configuration->documentation 'home-mcron-configuration)) + +;;; mcron.scm ends here diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 23760ebda4..52332d6123 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,6 +19,7 @@ (define-module (gnu services mcron) #:use-module (gnu services) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu packages guile-xyz) #:use-module (guix deprecation) @@ -30,6 +32,8 @@ mcron-configuration? mcron-configuration-mcron mcron-configuration-jobs + mcron-configuration-log? + mcron-configuration-log-format mcron-service-type)) @@ -48,13 +52,23 @@ ;;; ;;; Code: -(define-record-type* mcron-configuration - make-mcron-configuration - mcron-configuration? - (mcron mcron-configuration-mcron ;file-like - (default mcron)) - (jobs mcron-configuration-jobs ;list of - (default '()))) +(define list-of-gexps? + (list-of gexp?)) + +(define-configuration/no-serialization mcron-configuration + (mcron (file-like mcron) "The mcron package to use.") + (jobs + (list-of-gexps '()) + "This is a list of gexps (@pxref{G-Expressions}), where each gexp +corresponds to an mcron job specification (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}).") + (log? (boolean #t) "Log messages to standard output.") + (log-format + (string "~1@*~a ~a: ~a~%") + "@code{(ice-9 format)} format string for log messages. The default value +produces messages like \"@samp{@var{pid} @var{name}: +@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). +Each message is also prefixed by a timestamp by GNU Shepherd.")) (define (job-files mcron jobs) "Return a list of file-like object for JOBS, a list of gexps." @@ -124,21 +138,25 @@ files." (define mcron-shepherd-services (match-lambda - (($ mcron ()) ;nothing to do! + (($ mcron ()) ;nothing to do! '()) - (($ mcron jobs) + (($ mcron jobs log? log-format) (let ((files (job-files mcron jobs))) (list (shepherd-service (provision '(mcron)) (requirement '(user-processes)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ;for the 'schedule' action + (ice-9 popen) ;for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list (string-append #$mcron "/bin/mcron") #$@files) + (list (string-append #$mcron "/bin/mcron") + #$@(if log? + #~("--log" "--log-format" #$log-format) + #~()) + #$@files) ;; Disable auto-compilation of the job files and set a ;; sane value for 'PATH'. @@ -172,4 +190,11 @@ files." jobs))))) (default-value (mcron-configuration)))) ;empty job list + +;;; +;;; Generate documentation. +;;; +(define (generate-doc) + (configuration->documentation 'mcron-configuration)) + ;;; mcron.scm ends here -- cgit v1.2.3 From 3d8a331518a8d99d347a6dde3bd17c93b2b2c182 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 28 Oct 2022 23:04:36 -0400 Subject: gnu: mcron: Use gexps and strip trailing #t. * gnu/packages/guile-xyz.scm (mcron) [phases]: Use gexps and strip trailing #t. --- gnu/packages/guile-xyz.scm | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 5997a24577..f4b947d116 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2714,27 +2714,26 @@ is no support for parsing block and inline level HTML.") "0bkn235g2ia4f7ispr9d55c7bc18282r3qd8ldhh5q2kiin75zi0")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'check 'adjust-tests - (lambda _ - (substitute* "tests/job-specifier.scm" - ;; (getpw) fails with "entry not found" in the build - ;; environment, so pass an argument. - (("\\(getpw\\)") - "(getpwnam (getuid))") - ;; The build environment lacks an entry for root in - ;; /etc/passwd. - (("\\(getpw 0\\)") - "(getpwnam \"nobody\")") - - ;; FIXME: Skip the 4 faulty tests (see above). - (("\\(test-equal \"next-year\"" all) - (string-append "(test-skip 4)\n" all))) - #t))))) - (native-inputs `(("pkg-config" ,pkg-config) - ("tzdata" ,tzdata-for-tests) - ("guile-native" ;for 'guild compile' - ,@(assoc-ref (package-inputs this-package) "guile")))) + (list + #:phases #~(modify-phases %standard-phases + (add-before 'check 'adjust-tests + (lambda _ + (substitute* "tests/job-specifier.scm" + ;; (getpw) fails with "entry not found" in the build + ;; environment, so pass an argument. + (("\\(getpw\\)") + "(getpwnam (getuid))") + ;; The build environment lacks an entry for root in + ;; /etc/passwd. + (("\\(getpw 0\\)") + "(getpwnam \"nobody\")") + ;; FIXME: Skip the 4 faulty tests (see above). + (("\\(test-equal \"next-year\"" all) + (string-append "(test-skip 4)\n" all)))))))) + (native-inputs (list guile-3.0 ;for 'guild compile' + pkg-config + tzdata-for-tests)) + (inputs (list guile-3.0)) (home-page "https://www.gnu.org/software/mcron/") (synopsis "Run jobs at scheduled times") -- cgit v1.2.3 From 1df89e43454987d64b479aed207195df83e7676a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 28 Oct 2022 23:17:09 -0400 Subject: gnu: Remove guile2.2-mcron. * gnu/packages/guile-xyz.scm (guile2.2-mcron): Delete variable. --- gnu/packages/guile-xyz.scm | 6 ------ 1 file changed, 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index f4b947d116..2aa1c176e0 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2744,12 +2744,6 @@ Guile, so its configuration can be written in Scheme; the original cron format is also supported.") (license license:gpl3+))) -(define-public guile2.2-mcron - (package - (inherit mcron) - (name "guile2.2-mcron") - (inputs (list guile-2.2)))) - (define-public guile-picture-language (let ((commit "a1322bf11945465241ca5b742a70893f24156d12") (revision "5")) -- cgit v1.2.3 From 5512915c3bd62e061bd47d440da02e0826c1d0e7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 28 Oct 2022 23:15:24 -0400 Subject: gnu: mcron: Update to 1.2.1-0.5fd0ccd. * gnu/packages/guile-xyz.scm (mcron): Update to 1.2.1-0.5fd0ccd. [native-inputs]: Add autoconf, automake, help2man, and texinfo. --- gnu/packages/guile-xyz.scm | 85 +++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 38 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 2aa1c176e0..1785fe0d58 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2702,47 +2702,56 @@ is no support for parsing block and inline level HTML.") (inputs (list guile-2.0)))) (define-public mcron - (package - (name "mcron") - (version "1.2.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mcron/mcron-" - version ".tar.gz")) - (sha256 - (base32 - "0bkn235g2ia4f7ispr9d55c7bc18282r3qd8ldhh5q2kiin75zi0")))) - (build-system gnu-build-system) - (arguments - (list - #:phases #~(modify-phases %standard-phases - (add-before 'check 'adjust-tests - (lambda _ - (substitute* "tests/job-specifier.scm" - ;; (getpw) fails with "entry not found" in the build - ;; environment, so pass an argument. - (("\\(getpw\\)") - "(getpwnam (getuid))") - ;; The build environment lacks an entry for root in - ;; /etc/passwd. - (("\\(getpw 0\\)") - "(getpwnam \"nobody\")") - ;; FIXME: Skip the 4 faulty tests (see above). - (("\\(test-equal \"next-year\"" all) - (string-append "(test-skip 4)\n" all)))))))) - (native-inputs (list guile-3.0 ;for 'guild compile' - pkg-config - tzdata-for-tests)) - - (inputs (list guile-3.0)) - (home-page "https://www.gnu.org/software/mcron/") - (synopsis "Run jobs at scheduled times") - (description - "GNU Mcron is a complete replacement for Vixie cron. It is used to run + ;; Use the latest commits, as interesting changes haven't been released yet, + ;; such as improved logging. + (let ((revision "0") + (commit "5fd0ccde5a4cff70299999f988e6b5166584814d")) + (package + (name "mcron") + (version (git-version "1.2.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/mcron.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jl2w67a5hkphzssdzq3q4jcwv2b174b11d3w5i3khxq2vhzd6kk")))) + (build-system gnu-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-before 'check 'adjust-tests + (lambda _ + (substitute* "tests/job-specifier.scm" + ;; (getpw) fails with "entry not found" in the build + ;; environment, so pass an argument. + (("\\(getpw\\)") + "(getpwnam (getuid))") + ;; The build environment lacks an entry for root in + ;; /etc/passwd. + (("\\(getpw 0\\)") + "(getpwnam \"nobody\")") + ;; FIXME: Skip the 4 faulty tests (see above). + (("\\(test-equal \"next-year\"" all) + (string-append "(test-skip 4)\n" all)))))))) + (native-inputs (list autoconf + automake + guile-3.0 ;for 'guild compile' + help2man + pkg-config + tzdata-for-tests + texinfo)) + (inputs (list guile-3.0)) + (home-page "https://www.gnu.org/software/mcron/") + (synopsis "Run jobs at scheduled times") + (description + "GNU Mcron is a complete replacement for Vixie cron. It is used to run tasks on a schedule, such as every hour or every Monday. Mcron is written in Guile, so its configuration can be written in Scheme; the original cron format is also supported.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public guile-picture-language (let ((commit "a1322bf11945465241ca5b742a70893f24156d12") -- cgit v1.2.3 From 608999be5951588c100fb527df7cb21a3e478468 Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 16 Nov 2022 10:14:41 +0100 Subject: gnu: Add cl-closure-template. * gnu/packages/lisp-xyz.scm (cl-closure-template, ecl-closure-template, sbcl-closure-template): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b647c1aa3d..e1f7260177 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -24751,6 +24751,45 @@ roman numeral given in the key.") (define-public ecl-triads (sbcl-package->ecl-package sbcl-triads)) +(define-public sbcl-closure-template + ;; There are no releases since 2015. + (let ((commit "f1983aa525045691e128027d2a2d74831c873d6e") + (revision "0")) + (package + (name "sbcl-closure-template") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/archimag/cl-closure-template") + (commit commit))) + (file-name (git-file-name "cl-closure-template" version)) + (sha256 + (base32 "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv")))) + (build-system asdf-build-system/sbcl) + (native-inputs (list sbcl-lift)) + (inputs + (list sbcl-alexandria + sbcl-babel + sbcl-closer-mop + sbcl-esrap + sbcl-iterate + sbcl-parse-number + sbcl-split-sequence)) + (synopsis "Lisp implementation of Google Closure Templates") + (description + "This package provides a Common Lisp implementation of Google +Closure Templates.") + (home-page "https://github.com/archimag/cl-closure-template/") + (license license:llgpl)))) + +(define-public cl-closure-template + (sbcl-package->cl-source-package sbcl-closure-template)) + +(define-public ecl-closure-template + (sbcl-package->ecl-package sbcl-closure-template)) + (define-public sbcl-cl-morse (package (name "sbcl-cl-morse") -- cgit v1.2.3 From ce9f95609573006820b9a3926dcb95ef0ceb190c Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 16 Nov 2022 08:02:59 +0000 Subject: gnu: Add cl-flamegraph. * gnu/packages/lisp-xyz.scm (sbcl-flamegraph, cl-flamegraph): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e1f7260177..1d358e98df 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -14717,6 +14717,37 @@ for debugging and profiling real world applications.") (define-public ecl-supertrace (sbcl-package->ecl-package sbcl-supertrace)) +(define-public sbcl-flamegraph + (let ((commit "1ed7a718eae88bd35e1649a1c716d46c59dc0a24") + (revision "0")) + (package + (name "sbcl-flamegraph") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + ;; This is a fork with fixes for latest SBCL. + (url "https://github.com/ruricolist/cl-flamegraph") + (commit commit))) + (file-name (git-file-name "cl-flamegraph" version)) + (sha256 + (base32 "1aj7hhvav9j9c66ssy11ry3p6xqb912yafi91g6sin6pdx84c2lw")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria)) + (home-page "https://github.com/40ants/cl-flamegraph") + (synopsis "Generate flamegraphs of Common Lisp code") + (description + "@code{cl-flamegraph} is a wrapper around SBCL's statistical profiler. +It saves stack traces of profiled code in a form suitable for processing by +the @command{flamegraph.pl} script, which is available in the Guix package +@code{flamegraph}.") + (license license:bsd-3)))) + +(define-public cl-flamegraph + (sbcl-package->cl-source-package sbcl-flamegraph)) + (define-public sbcl-trivial-benchmark (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c")) (package -- cgit v1.2.3 From fd34760e2837ed6d81bd6602b584f83eaaf2f824 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 16 Nov 2022 08:03:12 +0000 Subject: gnu: Add cl-moira. * gnu/packages/lisp-xyz.scm (sbcl-moira, cl-moira, ecl-moira): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 1d358e98df..7af6f6ad34 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -17327,6 +17327,42 @@ implementation, for example drawing calls of GUI applications.") (define-public cl-trivial-main-thread (sbcl-package->cl-source-package sbcl-trivial-main-thread)) +(define-public sbcl-moira + (let ((commit "21f1cfd5942fcaea2ed2e4f6055b2a5a39ac4c6e") + (revision "0")) + (package + (name "sbcl-moira") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/moira") + (commit commit))) + (file-name (git-file-name "cl-moira" version)) + (sha256 + (base32 "0r6hvq8j04y1i85f8jwhhafylgfrkg8c1z5746nsbv0v0348sf5h")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-bordeaux-threads + sbcl-osicat + sbcl-serapeum + sbcl-trivial-features + sbcl-trivial-garbage)) + (home-page "https://github.com/ruricolist/moira") + (synopsis "Monitor and restart background threads") + (description + "Moira is a library for monitoring and, if necessary, restarting +long-running threads. In principle, it is like an in-Lisp process supervisor.") + (license license:expat)))) + +(define-public cl-moira + (sbcl-package->cl-source-package sbcl-moira)) + +(define-public ecl-moira + (sbcl-package->ecl-package sbcl-moira)) + (define-public sbcl-cl-package-locks (let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c") (revision "1")) -- cgit v1.2.3 From 56f73178e4a2e50f1bc9c5553117000f1781fad9 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 16 Nov 2022 08:06:14 +0000 Subject: gnu: Add cl-wu-decimal. * gnu/packages/lisp-xyz.scm (sbcl-wu-decimal, cl-wu-decimal, ecl-wu-decimal): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 7af6f6ad34..ac3144c94e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20549,6 +20549,38 @@ command in Common Lisp.") (define-public ecl-which (sbcl-package->ecl-package sbcl-which)) +(define-public sbcl-wu-decimal + (let ((commit "5b348bdb32a0f83e80e17aa68cd51787ae8c8a45") + (revision "0")) + (package + (name "sbcl-wu-decimal") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wukix/wu-decimal") + (commit commit))) + (file-name (git-file-name "cl-wu-decimal" version)) + (sha256 + (base32 "1p7na4hic7297amwm4idfwkyx664ny8cdssncyra37pmv4wzp8dm")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/Wukix/wu-decimal") + (synopsis "Arbitrary-precision decimal arithmetic") + (description + "Wu-Decimal enables convenient, arbitrary-precision decimal arithmetic +through a reader macro, @code{#$}, and an update to the @code{pprint} dispatch +table. Wu-Decimal uses the CL rational type to store decimals, which enables +numeric functions such as @code{+}, @code{-}, etc., to operate on decimal +numbers in a natural way.") + (license license:bsd-2)))) + +(define-public cl-wu-decimal + (sbcl-package->cl-source-package sbcl-wu-decimal)) + +(define-public ecl-wu-decimal + (sbcl-package->ecl-package sbcl-wu-decimal)) + (define-public sbcl-cl-num-utils (let ((commit "97a88cd34540acf52e872a82ebfef3da0a34fa12") (revision "1")) -- cgit v1.2.3 From 5bb4e9faaeb7a6f6aa08a66f5586fa8fdad69a24 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 16 Nov 2022 08:06:19 +0000 Subject: gnu: Add cl-infix-math. * gnu/packages/lisp-xyz.scm (sbcl-infix-math, cl-infix-math, ecl-infix-math): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index ac3144c94e..dac1312d4a 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20581,6 +20581,37 @@ numbers in a natural way.") (define-public ecl-wu-decimal (sbcl-package->ecl-package sbcl-wu-decimal)) +(define-public sbcl-infix-math + (let ((commit "f5155ae9709e518061ace79887d78f8e79c61cac") + (revision "0")) + (package + (name "sbcl-infix-math") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/infix-math") + (commit commit))) + (file-name (git-file-name "cl-infix-math" version)) + (sha256 + (base32 "1h6p254xl793wfq3qla5y95k6zimy477f8brblx6ran3rg3bydbg")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria sbcl-parse-number sbcl-serapeum sbcl-wu-decimal)) + (home-page "https://github.com/ruricolist/infix-math") + (synopsis "Extensible infix syntax for math in Common Lisp") + (description + "Infix-Math is a library that provides a special-purpose syntax for +transcribing mathematical formulas into Lisp.") + (license license:expat)))) + +(define-public cl-infix-math + (sbcl-package->cl-source-package sbcl-infix-math)) + +(define-public ecl-infix-math + (sbcl-package->ecl-package sbcl-infix-math)) + (define-public sbcl-cl-num-utils (let ((commit "97a88cd34540acf52e872a82ebfef3da0a34fa12") (revision "1")) -- cgit v1.2.3 From 8a64495ef6b0bc3fc9998686ce6c6fdac612579c Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 16 Nov 2022 08:06:25 +0000 Subject: gnu: Add cl-random-sample. * gnu/packages/lisp-xyz.scm (sbcl-random-sample, cl-random-sample, ecl-random-sample): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index dac1312d4a..9cdfb1b560 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20795,6 +20795,42 @@ density, distribution and quantiles for these distributions.") (define-public ecl-cl-random (sbcl-package->ecl-package sbcl-cl-random)) +(define-public sbcl-random-sample + (let ((commit "46b70374ed796b84ea003e83c1db97b0caf97e22") + (revision "0")) + (package + (name "sbcl-random-sample") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruricolist/random-sample") + (commit commit))) + (file-name (git-file-name "cl-random-sample" version)) + (sha256 + (base32 "0nhgca6wf754wbg91h40gx7xq22rawg2pn6l7h02wv1jxac4q6nh")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-fiveam)) + (inputs + (list sbcl-alexandria + sbcl-infix-math + sbcl-named-readtables + sbcl-serapeum)) + (home-page "https://github.com/ruricolist/random-sample") + (synopsis "Take a random sample from a sequence") + (description + "Random-Sample is a library for reliably taking a random sample from a +sequence.") + (license license:expat)))) + +(define-public cl-random-sample + (sbcl-package->cl-source-package sbcl-random-sample)) + +(define-public ecl-random-sample + (sbcl-package->ecl-package sbcl-random-sample)) + (define-public sbcl-mgl-gpr (let ((commit "cb6ce51e2f87bf1d589f3703c13eea6e25780afe") (revision "1")) -- cgit v1.2.3 From 996f897cf17449198713b2412fa99185c0abe214 Mon Sep 17 00:00:00 2001 From: Fabio Natali Date: Tue, 15 Nov 2022 23:53:03 +0000 Subject: gnu: microscheme: Update to 0.9.4. * gnu/packages/avr.scm (microscheme): Update to 0.9.4. [native-inputs]: Add clang and cppcheck. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/avr.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index 3cc5a6964e..a741f183d7 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm @@ -31,10 +31,12 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages flashing-tools) #:use-module (gnu packages gcc) + #:use-module (gnu packages llvm) #:use-module (gnu packages vim)) (define-public avr-binutils @@ -148,7 +150,7 @@ C++.") (define-public microscheme (package (name "microscheme") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) @@ -156,7 +158,7 @@ C++.") (url "https://github.com/ryansuchocki/microscheme") (commit (string-append "v" version)))) (sha256 - (base32 "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976")) + (base32 "1bflwirpcd58bngbs6hgjfwxl894ni2gpdd4pj10pm2mjhyj5dgw")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -168,7 +170,7 @@ C++.") #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))))) (native-inputs - (list unzip xxd)) + (list clang cppcheck unzip xxd)) (home-page "https://github.com/ryansuchocki/microscheme/") (synopsis "Scheme subset for Atmel microcontrollers") (description -- cgit v1.2.3 From 56c2afd29e75fbf44bcd6407028674f845c5d6b5 Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 21:08:57 -0500 Subject: gnu: udiskie: Update to 2.4.2. * gnu/packages/freedesktop.scm (udiskie): Update to 2.4.2. [phases]: Remove trailing #t. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/freedesktop.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8574864598..d74d6aa935 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2161,14 +2161,14 @@ Python, that binds to the C library @code{uchardet} to increase performance.") (define-public udiskie (package (name "udiskie") - (version "2.3.3") + (version "2.4.2") (source (origin (method url-fetch) (uri (pypi-uri "udiskie" version)) (sha256 (base32 - "0sagdmsc5km32h3jvgj843p8bicrrgfz26qhl04ibxmas6725zr0")))) + "0z0gk8l6rv4np29kfdalmy4q3900005sxhjg0jz1aa8irdcsp1qz")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -2195,8 +2195,7 @@ Python, that binds to the C library @code{uchardet} to increase performance.") (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program (string-append out "/bin/udiskie") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - #t))))) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))))) (home-page "https://github.com/coldfix/udiskie") (synopsis "Automounter for removable media") (description -- cgit v1.2.3 From 785fd09af0e161906e984944ddae363c384b66dd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 16 Nov 2022 12:00:25 +0200 Subject: gnu: rust-gfa-0.10: Update to 0.10.1. * gnu/packages/crates-io.scm (rust-gfa-0.10): Update to 0.10.1. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1118ebbc35..792779a28f 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -23244,7 +23244,7 @@ getters and setters on fields.") (define-public rust-gfa-0.10 (package (name "rust-gfa") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) @@ -23253,7 +23253,7 @@ getters and setters on fields.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hadm6vfjwyqw41bqci18wb4wv80rydmrag7a5c02pdp1gid14fw")))) + "1x996rpfnflgi2j4dgaj5sdxdbf24zfm9d2ha0zy8aid0cd60cln")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs -- cgit v1.2.3 From 615a57bdfb6a236b08573838d4bd3dd62b281658 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 16 Nov 2022 19:20:23 +0100 Subject: gnu: Add dsp. * gnu/packages/audio.scm (dsp): New variable. --- gnu/packages/audio.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 937c9783fb..61e81f8c3d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -615,6 +615,50 @@ attacks, performing pitch detection, tapping the beat and producing MIDI streams from live audio.") (license license:gpl3+))) +(define-public dsp + (package + (name "dsp") + (version "1.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bmc0/dsp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0iksmianwig7w78hqip2a8yy6r63sv8cv9pis8qxny6w1xap6njb")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #false ;no tests + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "sh" "configure" + (string-append "--prefix=" #$output) + "--disable-pulse")))))) + (inputs + (list alsa-lib + ao + ffmpeg + ladspa + libmad + libsndfile + fftw + fftwf + zita-convolver)) + (native-inputs + (list libtool pkg-config)) + (home-page "https://github.com/bmc0/dsp") + (synopsis "Audio processing program with an interactive mode") + (description + "dsp is an audio processing program with an interactive mode.") + (license license:isc))) + (define-public qm-dsp (package (name "qm-dsp") -- cgit v1.2.3 From bf741cdd275a8464799b4380d352c3a63da627d7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 10 Nov 2022 15:11:35 -0500 Subject: gnu: Add llvm-15. * gnu/packages/llvm.scm (llvm-15): New variable. (llvm-14): Inherit from it, removing duplicated fields. * gnu/packages/patches/clang-15.0-libc-search-path.patch: New file. * gnu/local.mk: Register it. --- gnu/local.mk | 1 + gnu/packages/llvm.scm | 93 ++++++++++++++++----- .../patches/clang-15.0-libc-search-path.patch | 95 ++++++++++++++++++++++ 3 files changed, 167 insertions(+), 22 deletions(-) create mode 100644 gnu/packages/patches/clang-15.0-libc-search-path.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 71472f8410..4fcaa6801a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -977,6 +977,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-12.0-libc-search-path.patch \ %D%/packages/patches/clang-13.0-libc-search-path.patch \ %D%/packages/patches/clang-14.0-libc-search-path.patch \ + %D%/packages/patches/clang-15.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 324149116b..5a64c712af 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -545,10 +545,12 @@ output), and Binutils.") ("libc-static" ,glibc "static"))))) (define %llvm-monorepo-hashes - '(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx"))) + '(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx") + ("15.0.4" . "0j5kx4s970qzcjr83kk6776zzjqfshl61x9fagqz8kjxcjbpg8cj"))) (define %llvm-patches - '(("14.0.6" . ("clang-14.0-libc-search-path.patch")))) + '(("14.0.6" . ("clang-14.0-libc-search-path.patch")) + ("15.0.4" . ("clang-15.0-libc-search-path.patch")))) (define (llvm-monorepo version) (origin @@ -560,20 +562,74 @@ output), and Binutils.") (sha256 (base32 (assoc-ref %llvm-monorepo-hashes version))) (patches (map search-patch (assoc-ref %llvm-patches version))))) -(define-public llvm-14 +;;; TODO: Make the base llvm all other LLVM inherit from on core-updates. +(define-public llvm-15 (package (name "llvm") - (version "14.0.6") + (version "15.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (outputs '("out" "opt-viewer")) - (native-inputs - `(("python" ,python-wrapper) - ("perl" ,perl))) - (inputs - (list libffi)) - (propagated-inputs - (list zlib)) ;to use output from llvm-config + (arguments + (list + #:configure-flags + #~(list + ;; These options are required for cross-compiling LLVM according + ;; to . + #$@(if (%current-target-system) + #~((string-append "-DLLVM_TABLEGEN=" + #+(file-append this-package + "/bin/llvm-tblgen")) + #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" + (%current-target-system)) + #$(string-append "-DLLVM_TARGET_ARCH=" + (system->llvm-target)) + #$(string-append "-DLLVM_TARGETS_TO_BUILD=" + (system->llvm-target))) + '()) + ;; Note: sadly, the build system refuses the use of + ;; -DBUILD_SHARED_LIBS=ON and the large static archives are needed to + ;; build clang-runtime, so we cannot delete them. + "-DLLVM_BUILD_LLVM_DYLIB=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" ;for some third-party utilities + "-DLLVM_INSTALL_UTILS=ON" ;needed for rustc + "-DLLVM_PARALLEL_LINK_JOBS=1") ;cater to smaller build machines + ;; Don't use '-g' during the build, to save space. + #:build-type "Release" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "llvm"))) + (add-after 'install 'install-opt-viewer + (lambda* (#:key outputs #:allow-other-keys) + (let* ((opt-viewer-share (string-append #$output:opt-viewer + "/share"))) + (mkdir-p opt-viewer-share) + (rename-file (string-append #$output "/share/opt-viewer") + opt-viewer-share))))))) + (native-inputs (list python-wrapper perl)) + (inputs (list libffi)) + (propagated-inputs (list zlib)) ;to use output from llvm-config + (home-page "https://www.llvm.org") + (synopsis "Optimizing compiler infrastructure") + (description + "LLVM is a compiler infrastructure designed for compile-time, link-time, +runtime, and idle-time optimization of programs from arbitrary programming +languages. It currently supports compilation of C and C++ programs, using +front-ends derived from GCC 4.0.1. A new front-end for the C family of +languages is in development. The compiler infrastructure includes mirror sets +of programming tools as well as libraries with equivalent functionality.") + (license license:asl2.0) + (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))))) + +(define-public llvm-14 + (package + (inherit llvm-15) + (version "14.0.6") + (source (llvm-monorepo version)) (arguments (list #:configure-flags @@ -613,17 +669,10 @@ output), and Binutils.") (mkdir-p opt-viewer-share-dir) (rename-file (string-append out "/share/opt-viewer") opt-viewer-dir))))))) - (home-page "https://www.llvm.org") - (synopsis "Optimizing compiler infrastructure") - (description - "LLVM is a compiler infrastructure designed for compile-time, link-time, -runtime, and idle-time optimization of programs from arbitrary programming -languages. It currently supports compilation of C and C++ programs, using -front-ends derived from GCC 4.0.1. A new front-end for the C family of -languages is in development. The compiler infrastructure includes mirror sets -of programming tools as well as libraries with equivalent functionality.") - (license license:asl2.0) - (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))))) + + (native-inputs + `(("python" ,python-wrapper) + ("perl" ,perl))))) (define-public clang-runtime-14 (let ((template (clang-runtime-from-llvm llvm-14))) diff --git a/gnu/packages/patches/clang-15.0-libc-search-path.patch b/gnu/packages/patches/clang-15.0-libc-search-path.patch new file mode 100644 index 0000000000..20726859b2 --- /dev/null +++ b/gnu/packages/patches/clang-15.0-libc-search-path.patch @@ -0,0 +1,95 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on foreign distros. + +diff --git a/clang/lib/Driver/Distro.cpp b/clang/libDriver/Distro.cpp +index 1898667..35de813 100644 +--- a/clang/lib/Driver/Distro.cpp ++++ b/clang/libDriver/Distro.cpp +@@ -97,6 +97,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { + } + + static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) { ++ // The compiler should always behave the same, even when used via Guix on a ++ // foreign distro. ++ return Distro::UnknownDistro; ++ + Distro::DistroType Version = Distro::UnknownDistro; + + // Newer freedesktop.org's compilant systemd-based systems +diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/libDriver/ToolChains/Cuda.cpp +index 7ad990d..e4da4d4 100644 +--- a/clang/lib/Driver/ToolChains/Cuda.cpp ++++ b/clang/libDriver/ToolChains/Cuda.cpp +@@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector( + const Driver &D, const llvm::Triple &HostTriple, + const llvm::opt::ArgList &Args) + : D(D) { ++ // Don't look for CUDA in /usr. ++ return; ++ + struct Candidate { + std::string Path; + bool StrictChecking; +diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/libDriver/ToolChains/Linux.cpp +index ceb1a98..9d7a14a 100644 +--- a/clang/lib/Driver/ToolChains/Linux.cpp ++++ b/clang/libDriver/ToolChains/Linux.cpp +@@ -188,6 +188,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + Generic_GCC::PushPPaths(PPaths); + ++ // Comment out the distro-specific tweaks so that they don't bite when ++ // using Guix on a foreign distro. ++#if 0 ++ + Distro Distro(D.getVFS(), Triple); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -256,6 +260,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -276,6 +281,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + } + Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths); + ++#if 0 + addPathIfExists(D, concat(SysRoot, "/lib", MultiarchTriple), Paths); + addPathIfExists(D, concat(SysRoot, "/lib/..", OSLibDir), Paths); + +@@ -304,9 +310,11 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, concat(SysRoot, "/", OSLibDir, ABIName), Paths); + addPathIfExists(D, concat(SysRoot, "/usr", OSLibDir, ABIName), Paths); + } ++#endif + + Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); + ++#if 0 + // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs + // libc++.so in D.Dir+"/../lib/". Detect this path. + // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported. +@@ -316,6 +324,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + addPathIfExists(D, concat(SysRoot, "/lib"), Paths); + addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths); ++#endif ++ ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); ++ ++ // Add GCC's lib/ directory so libstdc++.so can be found. ++ addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths); + } + + ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const { -- cgit v1.2.3 From 52c1f5c8253f1ee59bb75c09900c3dbcb970c232 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 10 Nov 2022 16:06:32 -0500 Subject: gnu: Add clang-runtime-15. * gnu/packages/llvm.scm (clang-runtime-15): New variable. --- gnu/packages/llvm.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 5a64c712af..9f4f64e0d0 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -674,6 +674,29 @@ of programming tools as well as libraries with equivalent functionality.") `(("python" ,python-wrapper) ("perl" ,perl))))) +(define-public clang-runtime-15 + (let ((template (clang-runtime-from-llvm llvm-15))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:phases phases '(@ (guix build cmake-build-system) %standard-phases)) + #~(modify-phases #$phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "compiler-rt"))) + (add-after 'install 'delete-static-libraries + ;; Reduce size from 33 MiB to 7.4 MiB. + (lambda _ + (for-each delete-file + (find-files #$output "\\.a(\\.syms)?$")))))))) + (native-inputs + (modify-inputs (package-native-inputs template) + (prepend gcc-12))) ;libfuzzer fails to build with GCC 11 + (inputs + (modify-inputs (package-inputs template) + (append libffi)))))) + (define-public clang-runtime-14 (let ((template (clang-runtime-from-llvm llvm-14))) (package -- cgit v1.2.3 From ac99ead663b7797b6b320d3ed11d18496ba62209 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 15 Nov 2022 22:05:17 -0500 Subject: gnu: Add clang-15. * gnu/packages/llvm.scm (clang-from-llvm): Add LEGACY-BUILD-SHARED-LIBS? argument and update doc. [configure-flags]: Conditionally add -DCLANG_LINK_CLANG_DYLIB=ON. [phases]{change-directory}: Conditionally add phase. {add-tools-extra}: Conditionally patch AddClang.cmake file. (clang-15): New variable. (clang-14): Streamline. (clang-13, clang-12, clang-11, clang-10, clang-9, clang-8, clang-7, clang-6) (clang-3.9.1, clang-3.8, clang-3.7, clang-3.5): Set LEGACY-BUILD-SHARED-LIBS? argument to #t. --- gnu/packages/llvm.scm | 96 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 31 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 9f4f64e0d0..2b958b060e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -176,11 +176,14 @@ compiler. In LLVM this library is called \"compiler-rt\".") (properties (append `((release-monitoring-url . ,%llvm-release-monitoring-url)) - (clang-properties (package-version llvm))))) + (clang-properties (package-version llvm)))) + (legacy-build-shared-libs? #f)) "Produce Clang with dependencies on LLVM and CLANG-RUNTIME, and applying the given PATCHES. When TOOLS-EXTRA is given, it must point to the 'clang-tools-extra' tarball, which contains code for 'clang-tidy', 'pp-trace', -'modularize', and other tools." +'modularize', and other tools. LEGACY-BUILD-SHARED-LIBS? is used to configure +the package to use the legacy BUILD_SHARED_LIBS CMake option, which was used +until LLVM/Clang 14." (package (name "clang") (version (package-version llvm)) @@ -221,14 +224,17 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the (string-append "-DC_INCLUDE_DIRS=" (assoc-ref %build-inputs "libc") "/include") - ,@(if (target-riscv64?) - (list "-DLIBOMP_LIBFLAGS=-latomic" - "-DCMAKE_SHARED_LINKER_FLAGS=-latomic") - `())) + ,@(if (target-riscv64?) + (list "-DLIBOMP_LIBFLAGS=-latomic" + "-DCMAKE_SHARED_LINKER_FLAGS=-latomic") + `()) + ,@(if legacy-build-shared-libs? + '() + (list "-DCLANG_LINK_CLANG_DYLIB=ON"))) ,@(if (target-riscv64?) - `(#:make-flags '("LDFLAGS=-latomic")) - '()) + `(#:make-flags '("LDFLAGS=-latomic")) + '()) ;; Don't use '-g' during the build to save space. #:build-type "Release" @@ -247,9 +253,11 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the (string-delete #\- (package-version llvm)) ".src") "tools/extra") - ;; Build and link to shared libraries. - (substitute* "cmake/modules/AddClang.cmake" - (("BUILD_SHARED_LIBS") "True")) + ,@(if legacy-build-shared-libs? + ;; Build and link to shared libraries. + '((substitute* "cmake/modules/AddClang.cmake" + (("BUILD_SHARED_LIBS") "True"))) + '()) #t)))) '()) (add-after 'unpack 'add-missing-triplets @@ -323,6 +331,15 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the (("@GLIBC_LIBDIR@") (string-append libc "/lib")))))) #t))) + ;; Awkwardly, multiple phases added after the same phase, + ;; e.g. unpack, get applied in the reverse order. In other + ;; words, adding 'change-directory last means it occurs + ;; first after the unpack phase. + ,@(if (version>=? version "14") + '((add-after 'unpack 'change-directory + (lambda _ + (chdir "clang")))) + '()) ,@(if (version>=? version "10") `((add-after 'install 'adjust-cmake-file (lambda* (#:key outputs #:allow-other-keys) @@ -713,26 +730,31 @@ of programming tools as well as libraries with equivalent functionality.") ("gcc" ,gcc-11) ,@(package-native-inputs template)))))) +(define-public clang-15 + (clang-from-llvm + llvm-15 clang-runtime-15 + #:tools-extra + (origin + (method url-fetch) + (uri (llvm-uri "clang-tools-extra" + (package-version llvm-15))) + (sha256 + (base32 + "03adxlh84if9p53m6izjsql500rjza9rng8akab2pdqibgrg73rh"))))) + (define-public clang-14 - (let ((template - (clang-from-llvm llvm-14 clang-runtime-14 - #:tools-extra - (origin - (method url-fetch) - (uri (llvm-uri "clang-tools-extra" - (package-version llvm-14))) - (sha256 - (base32 - "0rhq4wkmvr369nkk059skzzw7jx6qhzqhmiwmqg4sp66avzviwvw")))))) - (package - (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases '(@ (guix build cmake-build-system) %standard-phases)) - #~(modify-phases #$phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "clang")))))))))) + (clang-from-llvm + llvm-14 clang-runtime-14 + #:legacy-build-shared-libs? #t + #:tools-extra + (origin + (method url-fetch) + (uri (llvm-uri "clang-tools-extra" + (package-version llvm-14))) + (sha256 + (base32 + "0rhq4wkmvr369nkk059skzzw7jx6qhzqhmiwmqg4sp66avzviwvw"))))) + (define-public libomp-14 (package @@ -805,6 +827,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-13 (clang-from-llvm llvm-13 clang-runtime-13 "1j8pr5kk8iqyb4jds3yl7c6x672617h4ngkpl4575j7mk4nrwykq" + #:legacy-build-shared-libs? #t #:patches '("clang-13.0-libc-search-path.patch") #:tools-extra (origin @@ -919,6 +942,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-12 (clang-from-llvm llvm-12 clang-runtime-12 "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf" + #:legacy-build-shared-libs? #t #:patches '("clang-12.0-libc-search-path.patch") #:tools-extra (origin @@ -973,6 +997,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-11 (clang-from-llvm llvm-11 clang-runtime-11 "02ajkij85966vd150iy246mv16dsaph1kfi0y8wnncp8w6nar5hg" + #:legacy-build-shared-libs? #t #:patches '("clang-11.0-libc-search-path.patch") #:tools-extra (origin @@ -1029,12 +1054,13 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-10 (clang-from-llvm llvm-10 clang-runtime-10 "091bvcny2lh32zy8f3m9viayyhb2zannrndni7325rl85cwgr6pr" + #:legacy-build-shared-libs? #t #:patches '("clang-10.0-libc-search-path.patch") #:tools-extra (origin (method url-fetch) (uri (llvm-uri "clang-tools-extra" - (package-version llvm-10))) + (package-version llvm-10))) (sha256 (base32 "06n1yp638rh24xdxv9v2df0qajxbjz4w59b7dd4ky36drwmpi4yh"))))) @@ -1098,6 +1124,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-9 (clang-from-llvm llvm-9 clang-runtime-9 "0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p" + #:legacy-build-shared-libs? #t #:patches '("clang-9.0-libc-search-path.patch"))) (define-public libomp-9 @@ -1141,6 +1168,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-8 (clang-from-llvm llvm-8 clang-runtime-8 "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh" + #:legacy-build-shared-libs? #t #:patches '("clang-8.0-libc-search-path.patch"))) (define-public libomp-8 @@ -1183,6 +1211,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-7 (clang-from-llvm llvm-7 clang-runtime-7 "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9" + #:legacy-build-shared-libs? #t #:patches '("clang-7.0-libc-search-path.patch"))) (define-public libomp-7 @@ -1224,6 +1253,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-6 (clang-from-llvm llvm-6 clang-runtime-6 "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w" + #:legacy-build-shared-libs? #t #:patches '("clang-6.0-libc-search-path.patch"))) (define-public libomp-6 @@ -1285,6 +1315,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-3.9.1 (clang-from-llvm llvm-3.9.1 clang-runtime-3.9.1 "0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76" + #:legacy-build-shared-libs? #t #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.8 @@ -1311,6 +1342,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-3.8 (clang-from-llvm llvm-3.8 clang-runtime-3.8 "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc" + #:legacy-build-shared-libs? #t #:patches '("clang-3.8-libc-search-path.patch"))) (define-public llvm-3.7 @@ -1337,6 +1369,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-3.7 (clang-from-llvm llvm-3.7 clang-runtime-3.7 "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn" + #:legacy-build-shared-libs? #t #:patches '("clang-3.5-libc-search-path.patch"))) (define-public llvm-3.6 @@ -1396,6 +1429,7 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") (define-public clang-3.5 (clang-from-llvm llvm-3.5 clang-runtime-3.5 "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg" + #:legacy-build-shared-libs? #t #:patches '("clang-3.5-libc-search-path.patch"))) ;; Default LLVM and Clang version. -- cgit v1.2.3 From 68cb4f07602afaaad342584e47a45e1a7dcb41b3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 15 Nov 2022 22:05:35 -0500 Subject: gnu: Add libomp-15. * gnu/packages/llvm.scm (libomp-15): New variable. (libomp-14): Inherit from it. [arguments]: Use substitute-keyword-arguments and override the chdir-to-source-and-install-license phase. Remove redundant fields. --- gnu/packages/llvm.scm | 75 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 29 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 2b958b060e..528c2bc359 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -755,10 +755,44 @@ of programming tools as well as libraries with equivalent functionality.") (base32 "0rhq4wkmvr369nkk059skzzw7jx6qhzqhmiwmqg4sp66avzviwvw"))))) +(define-public libomp-15 + (package + (name "libomp") + (version (package-version llvm-15)) + (source (llvm-monorepo version)) + (build-system cmake-build-system) + ;; XXX: Note this gets built with GCC because building with Clang itself + ;; fails (missing , even when libcxx is added as an input.) + (arguments + (list + #:configure-flags + #~(list "-DLIBOMP_USE_HWLOC=ON" + "-DOPENMP_TEST_C_COMPILER=clang" + "-DOPENMP_TEST_CXX_COMPILER=clang++") + #:test-target "check-libomp" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir-to-source-and-install-license + (lambda _ + (chdir "openmp") + (install-file "LICENSE.TXT" + (string-append #$output "/share/doc"))))))) + (native-inputs (list clang-15 llvm-15 perl pkg-config python)) + (inputs (list `(,hwloc "lib"))) + (home-page "https://openmp.llvm.org") + (synopsis "OpenMP run-time support library") + (description "This package provides the run-time support library developed +by the LLVM project for the OpenMP multi-theaded programming extension. This +package notably provides @file{libgomp.so}, which is has a binary interface +compatible with that of libgomp, the GNU Offloading and Multi Processing +Library.") + (properties `((release-monitoring-url . ,%llvm-release-monitoring-url) + (upstream-name . "openmp"))) + (license license:expat))) (define-public libomp-14 (package - (name "libomp") + (inherit libomp-15) (version (package-version llvm-14)) (source (origin (method url-fetch) @@ -767,36 +801,19 @@ of programming tools as well as libraries with equivalent functionality.") (base32 "07zby3gwy5c8jssabrhjk3nsxlwipnm6sk4dsvck1l5d0br1ywsg")) (file-name (string-append "libomp-" version ".tar.xz")))) - (build-system cmake-build-system) - ;; XXX: Note this gets built with GCC because building with Clang itself - ;; fails (missing , even when libcxx is added as an input.) (arguments - (list - #:configure-flags #~(list "-DLIBOMP_USE_HWLOC=ON" - "-DOPENMP_TEST_C_COMPILER=clang" - "-DOPENMP_TEST_CXX_COMPILER=clang++") - #:test-target "check-libomp" - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'chdir-to-source-and-install-license - (lambda _ - (chdir #$(string-append "../openmp-" version ".src")) - (install-file "LICENSE.TXT" - (string-append #$output "/share/doc"))))))) + (substitute-keyword-arguments (package-arguments libomp-15) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'chdir-to-source-and-install-license + (lambda _ + (chdir #$(string-append "../openmp-" version ".src")) + (install-file "LICENSE.TXT" + (string-append #$output "/share/doc")))))))) (native-inputs - (list clang-14 llvm-14 perl pkg-config python)) - (inputs - (list `(,hwloc "lib"))) - (home-page "https://openmp.llvm.org") - (synopsis "OpenMP run-time support library") - (description - "This package provides the run-time support library developed by the LLVM -project for the OpenMP multi-theaded programming extension. This package -notably provides @file{libgomp.so}, which is has a binary interface compatible -with that of libgomp, the GNU Offloading and Multi Processing Library.") - (properties `((release-monitoring-url . ,%llvm-release-monitoring-url) - (upstream-name . "openmp"))) - (license license:expat))) + (modify-inputs (package-native-inputs libomp-15) + (replace "clang" clang-14) + (replace "llvm" llvm-14))))) (define-public clang-toolchain-14 (make-clang-toolchain clang-14 libomp-14)) -- cgit v1.2.3 From 83fb681658431362def447ec29876d565d49c9e5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 16 Nov 2022 00:15:05 -0500 Subject: gnu: Add clang-toolchain-15. * gnu/packages/llvm.scm (clang-toolchain-15): New variable. --- gnu/packages/llvm.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 528c2bc359..d315149c42 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -790,6 +790,9 @@ Library.") (upstream-name . "openmp"))) (license license:expat))) +(define-public clang-toolchain-15 + (make-clang-toolchain clang-15 libomp-15)) + (define-public libomp-14 (package (inherit libomp-15) -- cgit v1.2.3 From 0747cacc58e5bb798676d43133cfd664a601fa39 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 16 Nov 2022 01:03:21 -0500 Subject: gnu: icecat: Update to 102.5.0-guix0-preview1 [security fixes]. Includes fixes for CVE-2022-45403, CVE-2022-45404, CVE-2022-45405, CVE-2022-45406, CVE-2022-45408, CVE-2022-45409, CVE-2022-45410, CVE-2022-45411, CVE-2022-45412, CVE-2022-45416, CVE-2022-45418, CVE-2022-45420, and CVE-2022-45421. * gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update. (icecat-source): Update gnuzilla commit, base version, and hashes. --- gnu/packages/gnuzilla.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e8059b1a0a..f3e7efead7 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -621,8 +621,8 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "102.4.0-guix0-preview1") -(define %icecat-build-id "20221019000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "102.5.0-guix0-preview1") +(define %icecat-build-id "20221115000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -644,11 +644,11 @@ in C/C++.") "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0klh3lbm0zdmv90kmmpkzgn15pfjibr7zsjy3kvbzpql97fhv7z7")))) + "1n2pq165fxmvgcr5mv3hhaid2vn7lh3jg03lf13kz4c5295x8z81")))) - (upstream-icecat-base-version "102.4.0") ; maybe older than base-version + (upstream-icecat-base-version "102.5.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "8f1aa117ddca6e8cd0114265fb4ca9b5a927565a") + (gnuzilla-commit "a8848cb35e4e47a344d40596f72d82d57bf5a6f1") (gnuzilla-source (origin (method git-fetch) @@ -660,7 +660,7 @@ in C/C++.") (string-take gnuzilla-commit 8))) (sha256 (base32 - "0ryrn8ivm763swd0qbqhlgdwc2dj4xjd81d9i2r6hb7bsb4ky3y5")))) + "0d0brzi7wmg70kvi9p3g24cyya17bvg2djgjn64g14hpnalg8icw")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. -- cgit v1.2.3 From 0ad036b0907dd080a745fe8dd209ffcc5b0389d3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 13 Nov 2022 01:00:00 +0100 Subject: gnu: bind: Update to 9.16.35. * gnu/packages/dns.scm (isc-bind): Update to 9.16.35. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 64fcac351c..ce184aa8dd 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.34") + (version "9.16.35") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")) (sha256 - (base32 "05ig8y20qksam7s466h15v6j2zgidn5nkbrk1d5c29nmypy2wgai")) + (base32 "0gkvilfhqwalcv69240v6j1p3hwj0j4fyzli18q5qil2y4brc59y")) (patches (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) -- cgit v1.2.3 From 39e4e00f75be8055300cb0afffb8bd4b4d35f2cc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 13 Nov 2022 01:00:00 +0100 Subject: services: configuration: Revert to a working ‘guix home’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 543d971ed2a1d9eb934af1f51930741d7cc4e7ef, and its dependent commit 9b21cd2e9a614f1937769caf3917a791b151d841, which appear to have triggered a recent wave of ‘guix home’ regressions involving (services (list (service home-bash-service-type))): In gnu/home/services/shells.scm: 504:7 3 (home-bash-extensions #< package: # …) In unknown file: 2 (append #< file: "…" line: 14 column: 12> ()) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure append: Wrong type argument in position 1 (expecting empty list): #< file: "…" line: 14 column: 12> I should love to dive in & fix this rather than revert, but urgently need sleep. --- doc/guix.texi | 45 ++++++++-------------------------------- gnu/home/services/mcron.scm | 47 ++++++++++-------------------------------- gnu/services/configuration.scm | 10 ++++----- gnu/services/mcron.scm | 47 ++++++++++-------------------------------- gnu/services/monitoring.scm | 4 ++-- 5 files changed, 38 insertions(+), 115 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index ef3b8e127e..4d974be53e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19019,33 +19019,20 @@ words, it is possible to define services that provide additional mcron jobs to run. @end defvr -@c Generated via (generate-documentation) at the bottom of (gnu services -@c mcron). -@c %start of fragment @deftp {Data Type} mcron-configuration -Available @code{mcron-configuration} fields are: +Data type representing the configuration of mcron. @table @asis -@item @code{mcron} (default: @code{mcron}) (type: file-like) +@item @code{mcron} (default: @var{mcron}) The mcron package to use. -@item @code{jobs} (default: @code{()}) (type: list-of-gexps) +@item @code{jobs} This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron,GNU@tie{}mcron}). - -@item @code{log?} (default: @code{#t}) (type: boolean) -Log messages to standard output. - -@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) -@code{(ice-9 format)} format string for log messages. The default value -produces messages like "@samp{@var{pid} @var{name}: @var{message}"} -(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message -is also prefixed by a timestamp by GNU Shepherd. - +specifications,, mcron, GNU@tie{}mcron}). @end table @end deftp -@c %end of fragment + @node Log Rotation @subsection Log Rotation @@ -41081,32 +41068,18 @@ jobs to run. @end defvr @deftp {Data Type} home-mcron-configuration -Available @code{home-mcron-configuration} fields are: +Data type representing the configuration of mcron. -@c Auto-generated with (gnu home services mcron)'s -@c generate-documentation procedure. -@c %start of fragment @table @asis -@item @code{mcron} (default: @code{mcron}) (type: file-like) +@item @code{mcron} (default: @var{mcron}) The mcron package to use. -@item @code{jobs} (default: @code{()}) (type: list-of-gexps) +@item @code{jobs} This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron,GNU@tie{}mcron}). - -@item @code{log?} (default: @code{#t}) (type: boolean) -Log messages to standard output. - -@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) -@code{(ice-9 format)} format string for log messages. The default value -produces messages like "@samp{@var{pid} @var{name}: @var{message}"} -(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message -is also prefixed by a timestamp by GNU Shepherd. - +specifications,, mcron, GNU@tie{}mcron}). @end table @end deftp -@c %end of fragment @node Power Management Home Services @subsection Power Management Home Services diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index 1d294a997c..0b3dbb810b 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm @@ -1,7 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +20,6 @@ (define-module (gnu home services mcron) #:use-module (gnu packages guile-xyz) #:use-module (gnu home services) - #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu home services shepherd) #:use-module (guix records) @@ -55,23 +53,13 @@ ;; ;;; Code: -(define list-of-gexps? - (list-of gexp?)) - -(define-configuration/no-serialization home-mcron-configuration - (mcron (file-like mcron) "The mcron package to use.") - (jobs - (list-of-gexps '()) - "This is a list of gexps (@pxref{G-Expressions}), where each gexp -corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}).") - (log? (boolean #t) "Log messages to standard output.") - (log-format - (string "~1@*~a ~a: ~a~%") - "@code{(ice-9 format)} format string for log messages. The default value -produces messages like \"@samp{@var{pid} @var{name}: -@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). -Each message is also prefixed by a timestamp by GNU Shepherd.")) +(define-record-type* home-mcron-configuration + make-home-mcron-configuration + home-mcron-configuration? + (package home-mcron-configuration-package ; package + (default mcron)) + (jobs home-mcron-configuration-jobs ; list of jobs + (default '()))) (define job-files (@@ (gnu services mcron) job-files)) (define shepherd-schedule-action @@ -81,23 +69,19 @@ Each message is also prefixed by a timestamp by GNU Shepherd.")) (match-lambda (($ mcron '()) ; no jobs to run '()) - (($ mcron jobs log? log-format) + (($ mcron jobs) (let ((files (job-files mcron jobs))) (list (shepherd-service (documentation "User cron jobs.") (provision '(mcron)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ; for the 'schedule' action + (ice-9 popen) ; for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list (string-append #$mcron "/bin/mcron") - #$@(if log? - #~("--log" "--log-format" #$log-format) - #~()) - #$@files) + (list #$(file-append mcron "/bin/mcron") #$@files) #:log-file (string-append (or (getenv "XDG_LOG_HOME") (format #f "~a/.local/var/log" @@ -107,7 +91,7 @@ Each message is also prefixed by a timestamp by GNU Shepherd.")) (actions (list (shepherd-schedule-action mcron files))))))))) -(define home-mcron-profile (compose list home-mcron-configuration-mcron)) +(define home-mcron-profile (compose list home-mcron-configuration-package)) (define (home-mcron-extend config jobs) (home-mcron-configuration @@ -129,12 +113,3 @@ Each message is also prefixed by a timestamp by GNU Shepherd.")) (default-value (home-mcron-configuration)) (description "Install and configure the GNU mcron cron job manager."))) - - -;;; -;;; Generate documentation. -;;; -(define (generate-doc) - (configuration->documentation 'home-mcron-configuration)) - -;;; mcron.scm ends here diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index dacfc52ba9..636c49ccba 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -242,17 +242,17 @@ does not have a default value" field kind))) stem #,(id #'stem #'make- #'stem) #,(id #'stem #'stem #'?) + (%location #,(id #'stem #'stem #'-location) + (default (and=> (current-source-location) + source-properties->location)) + (innate)) #,@(map (lambda (name getter def) #`(#,name #,getter (default #,def) (sanitize #,(id #'stem #'validate- #'stem #'- name)))) #'(field ...) #'(field-getter ...) - #'(field-default ...)) - (%location #,(id #'stem #'stem #'-location) - (default (and=> (current-source-location) - source-properties->location)) - (innate))) + #'(field-default ...))) (define #,(id #'stem #'stem #'-fields) (list (configuration-field diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 52332d6123..23760ebda4 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,6 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès -;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,7 +18,6 @@ (define-module (gnu services mcron) #:use-module (gnu services) - #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu packages guile-xyz) #:use-module (guix deprecation) @@ -32,8 +30,6 @@ mcron-configuration? mcron-configuration-mcron mcron-configuration-jobs - mcron-configuration-log? - mcron-configuration-log-format mcron-service-type)) @@ -52,23 +48,13 @@ ;;; ;;; Code: -(define list-of-gexps? - (list-of gexp?)) - -(define-configuration/no-serialization mcron-configuration - (mcron (file-like mcron) "The mcron package to use.") - (jobs - (list-of-gexps '()) - "This is a list of gexps (@pxref{G-Expressions}), where each gexp -corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}).") - (log? (boolean #t) "Log messages to standard output.") - (log-format - (string "~1@*~a ~a: ~a~%") - "@code{(ice-9 format)} format string for log messages. The default value -produces messages like \"@samp{@var{pid} @var{name}: -@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). -Each message is also prefixed by a timestamp by GNU Shepherd.")) +(define-record-type* mcron-configuration + make-mcron-configuration + mcron-configuration? + (mcron mcron-configuration-mcron ;file-like + (default mcron)) + (jobs mcron-configuration-jobs ;list of + (default '()))) (define (job-files mcron jobs) "Return a list of file-like object for JOBS, a list of gexps." @@ -138,25 +124,21 @@ files." (define mcron-shepherd-services (match-lambda - (($ mcron ()) ;nothing to do! + (($ mcron ()) ;nothing to do! '()) - (($ mcron jobs log? log-format) + (($ mcron jobs) (let ((files (job-files mcron jobs))) (list (shepherd-service (provision '(mcron)) (requirement '(user-processes)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ;for the 'schedule' action + (ice-9 popen) ;for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list (string-append #$mcron "/bin/mcron") - #$@(if log? - #~("--log" "--log-format" #$log-format) - #~()) - #$@files) + (list (string-append #$mcron "/bin/mcron") #$@files) ;; Disable auto-compilation of the job files and set a ;; sane value for 'PATH'. @@ -190,11 +172,4 @@ files." jobs))))) (default-value (mcron-configuration)))) ;empty job list - -;;; -;;; Generate documentation. -;;; -(define (generate-doc) - (configuration->documentation 'mcron-configuration)) - ;;; mcron.scm ends here diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index b19c6c9f18..9c8704092c 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -622,8 +622,8 @@ create it manually.") (define (zabbix-front-end-config config) (match-record config - (db-host db-port db-name db-user db-password db-secret-file - zabbix-host zabbix-port %location) + (%location db-host db-port db-name db-user db-password db-secret-file + zabbix-host zabbix-port) (mixed-text-file "zabbix.conf.php" "\ Date: Thu, 17 Nov 2022 02:24:46 +0100 Subject: gnu: crc32c: Fix build on x86_64-linux. * gnu/packages/cpp.scm (crc32c)[arguments]: Remove #:phases. The check is for SSE support in the compiler, not the build machine; and the runtime code tests for SSE availability on the CPU before enabling the SSE code path. --- gnu/packages/cpp.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index c1e98b771d..210c76e482 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1976,13 +1976,7 @@ std::wstring, etc).") "-DCRC32C_BUILD_TESTS=" ;; TODO: perhaps infer #:tests? (if #$(%current-target-system) - "OFF" "ON"))) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'make-reproducible - (lambda _ - (substitute* "CMakeLists.txt" - (("if\\(HAVE_SSE42\\)") "if(FALSE)"))))))) + "OFF" "ON"))))) (native-inputs (list googletest)) (home-page "https://github.com/google/crc32c") (synopsis "Cyclic redundancy check") -- cgit v1.2.3 From d69b90e9aae215a4cccdd1c133de0238e0847ad6 Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Thu, 17 Nov 2022 08:17:21 +0400 Subject: gnu: ungoogled-chromium-wayland: Use PipeWire by default. * gnu/packages/chromium.scm (ungoogled-chromium/wayland)[arguments]<#:builder>: Add --enable-features=WebRTCPipeWireCapture to wrapping executable. --- gnu/packages/chromium.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 8bfda2ebc5..4556768dc7 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -1028,7 +1028,8 @@ testing.") (call-with-output-file exe (lambda (port) (format port "#!~a -exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland $@" +exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland \ +--enable-features=WebRTCPipeWireCapturer $@" (string-append bash "/bin/bash") (string-append chromium "/bin/chromium")))) (chmod exe #o555) -- cgit v1.2.3 From 4e401243dc2b3b821e01cfe89951c8da015f22da Mon Sep 17 00:00:00 2001 From: "André A. Gomes" Date: Wed, 16 Nov 2022 15:42:28 +0200 Subject: gnu: cl-symbol-munger: Update to 0.0.1-2.e96558e. * gnu/packages/lisp-xyz.scm (sbcl-symbol-munger): Update to 0.0.1-2.e96558e. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 9cdfb1b560..89e116cc40 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -8934,8 +8934,8 @@ doesn't support them.") (sbcl-package->ecl-package sbcl-cl-interpol)) (define-public sbcl-symbol-munger - (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416") - (revision "1")) + (let ((commit "e96558e8315b8eef3822be713354787b2348b25e") + (revision "2")) (package (name "sbcl-symbol-munger") (version (git-version "0.0.1" revision commit)) @@ -8945,10 +8945,10 @@ doesn't support them.") (uri (git-reference (url "https://github.com/AccelerationNet/symbol-munger") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-symbol-munger" version)) (sha256 (base32 - "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km")))) + "16fshnxp9212503z1vjlmx5pafv14bzpihn486x1ljakqjigfnfz")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) -- cgit v1.2.3 From c9f927b7042d0cedadf7c29e83efaaa86a76b9e3 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Thu, 17 Nov 2022 04:01:02 +0000 Subject: gnu: Add cl-clop. * gnu/packages/lisp-xyz.scm (sbcl-clop, cl-clop, ecl-clop): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 89e116cc40..45fcb108f0 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -20066,6 +20066,44 @@ libyaml.") (define-public ecl-cl-yaml (sbcl-package->ecl-package sbcl-cl-yaml)) +(define-public sbcl-clop + (let ((commit "c0c3fe7efa5ac95ba1644febfb2c2acab757fcda") + (revision "0")) + (package + (name "sbcl-clop") + ;; ASD file indicates 0.1.0, but changelog 1.0.1. + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sheepduke/clop") + (commit commit))) + (file-name (git-file-name "cl-clop" version)) + (sha256 + (base32 "1q7rlizr8gcbfz4a9660gdbw7d2zbld18akjpibg54j7jh5kb8gc")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-fiveam)) + (inputs + (list sbcl-alexandria + sbcl-cl-str + sbcl-esrap + sbcl-local-time + sbcl-parse-number)) + (home-page "https://github.com/sheepduke/clop") + (synopsis "TOML parser for Common Lisp") + (description + "Clop is a Common Lisp library for parsing strings in the TOML +configuration file format.") + (license license:expat)))) + +(define-public cl-clop + (sbcl-package->cl-source-package sbcl-clop)) + +(define-public ecl-clop + (sbcl-package->ecl-package sbcl-clop)) + (define-public sbcl-linedit (let ((commit "0561c97dfca2f5854fcc66558a567a9875ddcb8f") (revision "1")) -- cgit v1.2.3 From 00b9ab0a8332528bdfb4aee58ddb975596cb2042 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 17 Nov 2022 10:26:01 +0100 Subject: tests: root-unmount: Wait for the first QEMU process to finish. There was a tiny possibility that the first QEMU process would still be running by the time we launch the second one. * gnu/build/marionette.scm (marionette-pid): Export. * gnu/tests/base.scm (run-root-unmount-test)[test]: Add 'waitpid' call. --- gnu/build/marionette.scm | 1 + gnu/tests/base.scm | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index f4b219e842..b8fba61d06 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm @@ -28,6 +28,7 @@ #:use-module (ice-9 popen) #:use-module (ice-9 regex) #:export (marionette? + marionette-pid make-marionette marionette-eval wait-for-file diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 64cd6a911a..87518b4bfe 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -695,7 +695,13 @@ in a loop. See .") ;; Halt the system. (marionette-eval '(system* "/run/current-system/profile/sbin/halt") - marionette)) + marionette) + + (display "waiting for marionette to complete...") + (force-output) + (false-if-exception (waitpid (marionette-pid marionette))) + (display " done\n") + (force-output)) ;; Remove the sockets used by the marionette above to avoid ;; EADDRINUSE. -- cgit v1.2.3 From 283d7318c5b312d7129adb6dbeea6ad205ce89d1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 17 Nov 2022 11:01:22 +0100 Subject: gnu: shepherd: Update to 0.9.3. * gnu/packages/admin.scm (shepherd-0.9): Update to 0.9.3. [source](modules, snippet): Remove. --- gnu/packages/admin.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index ee730ac8e3..da9654d577 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -330,25 +330,14 @@ interface and is based on GNU Guile.") (define-public shepherd-0.9 (package (inherit shepherd) - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "0mcby3ygh3bpns44rb1vnk8bz2km4nlw092nrcgkm3nkqfmbp4p1")) - (modules '((guix build utils))) - (snippet - ;; Avoid continuation barriers so (@ (fibers) sleep) can be - ;; called from a service's 'stop' method - '(substitute* "modules/shepherd/service.scm" - (("call-with-blocked-asyncs") ;in 'stop' method - "(lambda (thunk) (thunk))") - (("\\(for-each-service\n") ;in 'shutdown-services' - "((lambda (proc) - (for-each proc - (fold-services cons '())))\n"))))) + "0qy2yq13xhf05an5ilz7grighdxicx56211yaarqq5qigiiybc32")))) (arguments (list #:configure-flags #~'("--localstatedir=/var") #:make-flags #~'("GUILE_AUTO_COMPILE=0") -- cgit v1.2.3 From 08b6a17de95ba6d26a39218bebd16cc61873505a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Nov 2022 10:46:31 +0200 Subject: gnu: Add lld-15. * gnu/packages/llvm.scm (lld-15): New variable. (lld-14): Inherit from lld-15. --- gnu/packages/llvm.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index d315149c42..de19b40343 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1519,14 +1519,14 @@ Library.") (properties `((release-monitoring-url . ,%llvm-release-monitoring-url))) (license license:asl2.0))) ;with LLVM exceptions -(define-public lld-14 +(define-public lld-15 (package (name "lld") - (version "14.0.6") + (version "15.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (inputs - (list llvm-14)) + (list llvm-15)) (arguments '(#:build-type "Release" ;; TODO: Tests require the lit tool, which isn't installed by the LLVM @@ -1542,6 +1542,14 @@ Library.") components which highly leverage existing libraries in the larger LLVM Project.") (license license:asl2.0))) ; With LLVM exception +(define-public lld-14 + (package + (inherit lld-15) + (version "14.0.6") + (source (llvm-monorepo version)) + (inputs + (list llvm-14)))) + (define-public lld-13 (package (inherit lld-14) -- cgit v1.2.3 From c8ae11e77557cd20b1c7fc780c20306083ad6405 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Nov 2022 12:38:41 +0200 Subject: gnu: python-mistune-next: Update to 2.0.4. * gnu/packages/python-xyz.scm (python-mistune-next): Update to 2.0.4. [arguments]: Add custom 'check phase. [native-inputs]: Remove python-nose, add python-pytest. --- gnu/packages/python-xyz.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1758450c2f..7f0dc8fba0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11284,14 +11284,22 @@ Python.") (package (inherit python-mistune) (name "python-mistune-next") - (version "2.0.0rc1") + (version "2.0.4") (source (origin (method url-fetch) (uri (pypi-uri "mistune" version)) (sha256 (base32 - "1nd7iav1ixh9hlj4hxn6lmpava88d86ys8rqm30wgvr7gjlxnas5")))) - (native-inputs (list python-nose)))) + "024q9l6mgd37wa25w7dhskv1m3zsj5lf0w9cfyx7l9p2adhadq4y")))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (native-inputs (list python-pytest)))) (define-public python-markdown (package -- cgit v1.2.3 From daa5da2bded086f4f905f158bc547979a3bc643f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Nov 2022 12:51:08 +0200 Subject: gnu: python-praw: Update to 7.6.1. * gnu/packages/python-web.scm (python-praw): Update to 7.6.1. --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f6b4faf692..f7bbcc48a1 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -222,13 +222,13 @@ reusable library for parsing, manipulating, and generating URIs.") (define-public python-praw (package (name "python-praw") - (version "7.5.0") + (version "7.6.1") (source (origin (method url-fetch) (uri (pypi-uri "praw" version)) (sha256 - (base32 "1nqcwz8r8xp4rfpy2i11x2fjga8fmmf6zw94xjk1h1yxgn1gq6zr")))) + (base32 "17pvdlcasr08p5hb1x7shjh8yvn621lzm0bvnwd3b1r1qpzrbz07")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 211a1a6b44989689deb20ee1610283c89c917c75 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Nov 2022 12:54:58 +0200 Subject: gnu: giara: Update to 1.0.1. * gnu/packages/syndication.scm (giara): Update to 1.0.1. [source]: Remove patch. [arguments]: Add phase to skip meson post-install script. [native-inputs]: Remove libxml2. Replace gtk+:bin with gtk:bin. [inputs]: Remove python-pycairo, webkitgtk-with-libsoup2. Add blueprint-compiler. Replace libhandy with libadwaita, gtk+ with gtk, python-mistune with python-mistune-next. [description]: Update. * gnu/packages/patches/giara-fix-login.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/giara-fix-login.patch | 27 --------------------------- gnu/packages/syndication.scm | 30 +++++++++++++++--------------- 3 files changed, 15 insertions(+), 43 deletions(-) delete mode 100644 gnu/packages/patches/giara-fix-login.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 4fcaa6801a..b154caaaaa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1196,7 +1196,6 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ - %D%/packages/patches/giara-fix-login.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-networking-gnutls-binding.patch \ %D%/packages/patches/glib-networking-32-bit-time.patch \ diff --git a/gnu/packages/patches/giara-fix-login.patch b/gnu/packages/patches/giara-fix-login.patch deleted file mode 100644 index f15caaf559..0000000000 --- a/gnu/packages/patches/giara-fix-login.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f4adc1f52d777cea3331b4acae0c3bdec4d0eb70 Mon Sep 17 00:00:00 2001 -From: Paper -Date: Fri, 12 Mar 2021 21:10:34 +0000 -Subject: [PATCH] fix login by removing everything after # from URL - ---- - giara/__main__.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/giara/__main__.py b/giara/__main__.py -index 10b9ae2..d235332 100644 ---- a/giara/__main__.py -+++ b/giara/__main__.py -@@ -53,8 +53,9 @@ class GApplication(Gtk.Application): - def open(self, app, files, *args): - target = files[0].get_uri() - print(target) -+ code = target.split('=')[-1].split('#')[0] - get_authorized_client( -- reddit=self._unauth_reddit, code=target.split('=')[-1] -+ reddit=self._unauth_reddit, code=code - ) - self.continue_activate(self._unauth_reddit) - --- -GitLab - diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 57f8b61502..599f5c10e1 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -164,7 +164,7 @@ cards.") (define-public giara (package (name "giara") - (version "0.3") + (version "1.0.1") (source (origin (method git-fetch) @@ -172,15 +172,17 @@ cards.") (url "https://gitlab.gnome.org/World/giara") (commit version))) (file-name (git-file-name name version)) - ;; To fix authentication while adding accounts. - (patches (search-patches "giara-fix-login.patch")) (sha256 - (base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9")))) + (base32 "00vmfghp9g8yzn2d1xjawz5a8bdwn1jl1k24mjaf4vlvdy4sg9l4")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-icon-cache + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) (add-after 'glib-or-gtk-wrap 'wrap-paths (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -196,28 +198,26 @@ cards.") `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2))) + ("gtk:bin" ,gtk "bin") + ("pkg-config" ,pkg-config))) (inputs - `(("glib" ,glib) - ("gtk+" ,gtk+) + `(("blueprint-compiler" ,blueprint-compiler) + ("glib" ,glib) + ("gtk" ,gtk) ("gtksourceview" ,gtksourceview) - ("libhandy" ,libhandy) + ("libadwaita" ,libadwaita) ("python" ,python) ("python-beautifulsoup" ,python-beautifulsoup4) ("python-dateutil" ,python-dateutil) - ("python-mistune" ,python-mistune) + ("python-mistune" ,python-mistune-next) ("python-pillow" ,python-pillow) ("python-praw" ,python-praw) - ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) - ("python-requests" ,python-requests) - ("webkitgtk" ,webkitgtk-with-libsoup2))) + ("python-requests" ,python-requests))) (propagated-inputs (list dconf)) (synopsis "Client for Reddit") - (description "Giara is a reddit app, built with Python, GTK and Handy.") + (description "Giara is a reddit app, built with Python, GTK4 and libadwaita.") (home-page "https://giara.gabmus.org/") (license license:gpl3+))) -- cgit v1.2.3 From 64062c77b12c7927aa555ea535fc13d7435725a0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 17 Nov 2022 13:04:59 +0200 Subject: gnu: giara: Remove input labels. * gnu/packages/syndication.scm (giara)[inputs]: Remove input labels. [native-inputs]: Same. --- gnu/packages/syndication.scm | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 599f5c10e1..506245fd17 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -195,25 +195,25 @@ cards.") `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH") ,lib)) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk:bin" ,gtk "bin") - ("pkg-config" ,pkg-config))) + (list gettext-minimal + (list glib "bin") + gobject-introspection + (list gtk "bin") + pkg-config)) (inputs - `(("blueprint-compiler" ,blueprint-compiler) - ("glib" ,glib) - ("gtk" ,gtk) - ("gtksourceview" ,gtksourceview) - ("libadwaita" ,libadwaita) - ("python" ,python) - ("python-beautifulsoup" ,python-beautifulsoup4) - ("python-dateutil" ,python-dateutil) - ("python-mistune" ,python-mistune-next) - ("python-pillow" ,python-pillow) - ("python-praw" ,python-praw) - ("python-pygobject" ,python-pygobject) - ("python-requests" ,python-requests))) + (list blueprint-compiler + glib + gtk + gtksourceview + libadwaita + python + python-beautifulsoup4 + python-dateutil + python-mistune-next + python-pillow + python-praw + python-pygobject + python-requests)) (propagated-inputs (list dconf)) (synopsis "Client for Reddit") -- cgit v1.2.3 From 5a375fe48aff1c2b950f5a473647764f1dd0230a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 17 Nov 2022 12:19:40 +0100 Subject: gnu: emacs-use-package: Update to 2.4.4. * gnu/packages/emacs-xyz.scm (emacs-use-package): Update to 2.4.4. --- gnu/packages/emacs-xyz.scm | 81 ++++++++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 39 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dd90fa5132..92f13fdf9c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15471,47 +15471,50 @@ abbreviation of the mode line displays (lighters) of minor modes.") (license license:gpl3+)))) (define-public emacs-use-package - (package - (name "emacs-use-package") - (version "2.4.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jwiegley/use-package") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9")))) - (build-system emacs-build-system) - (native-inputs - (list texinfo)) - (propagated-inputs - (list emacs-diminish)) - (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "use-package-tests.el" - "-f" "ert-run-tests-batch-and-exit") - #:phases - (modify-phases %standard-phases - (add-before 'install 'install-manual - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info-dir (string-append out "/share/info"))) - (mkdir-p info-dir) - (install-file "use-package.info" info-dir) - #t))) - (add-before 'install-manual 'build-manual - (lambda _ - (invoke "makeinfo" "use-package.texi") - #t))))) - (home-page "https://github.com/jwiegley/use-package") - (synopsis "Declaration for simplifying your .emacs") - (description "The use-package macro allows you to isolate package + ;; XXX: Upstream did not tag latest release. Using commit matching exact + ;; version bump. + (let ((commit "942617d26e11d80d879ff23d2a8b477bd074a734")) + (package + (name "emacs-use-package") + (version "2.4.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwiegley/use-package") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zpf9xv65jg813k90x8g9k4lja896nqfh48pjinicmz1rn0rf51a")))) + (build-system emacs-build-system) + (native-inputs + (list texinfo)) + (propagated-inputs + (list emacs-diminish)) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "use-package-tests.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + (modify-phases %standard-phases + (add-before 'install 'install-manual + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info-dir (string-append out "/share/info"))) + (mkdir-p info-dir) + (install-file "use-package.info" info-dir) + #t))) + (add-before 'install-manual 'build-manual + (lambda _ + (invoke "makeinfo" "use-package.texi") + #t))))) + (home-page "https://github.com/jwiegley/use-package") + (synopsis "Declaration for simplifying your .emacs") + (description "The use-package macro allows you to isolate package configuration in your @file{.emacs} file in a way that is both performance-oriented and tidy.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public emacs-leaf (package -- cgit v1.2.3 From 22960a79a6abd60371ebee37f4b64cb2a1fb0bad Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 17 Nov 2022 12:21:03 +0100 Subject: gnu: emacs-use-package: Improve package style. * gnu/packages/emacs-xyz.scm (emacs-use-package)[arguments]: Use G-expressions. <#:phases>: Remove trailing #T. Remove unnecessary call to MKDIR-P. --- gnu/packages/emacs-xyz.scm | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 92f13fdf9c..47d376d8d3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15487,28 +15487,25 @@ abbreviation of the mode line displays (lighters) of minor modes.") (base32 "1zpf9xv65jg813k90x8g9k4lja896nqfh48pjinicmz1rn0rf51a")))) (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command #~(list "emacs" "--batch" + "-l" "use-package-tests.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'install-manual + (lambda _ + (let ((info-dir (string-append #$output "/share/info"))) + (install-file "use-package.info" info-dir)))) + (add-before 'install-manual 'build-manual + (lambda _ + (invoke "makeinfo" "use-package.texi")))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-diminish)) - (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "use-package-tests.el" - "-f" "ert-run-tests-batch-and-exit") - #:phases - (modify-phases %standard-phases - (add-before 'install 'install-manual - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info-dir (string-append out "/share/info"))) - (mkdir-p info-dir) - (install-file "use-package.info" info-dir) - #t))) - (add-before 'install-manual 'build-manual - (lambda _ - (invoke "makeinfo" "use-package.texi") - #t))))) (home-page "https://github.com/jwiegley/use-package") (synopsis "Declaration for simplifying your .emacs") (description "The use-package macro allows you to isolate package -- cgit v1.2.3 From 57f7d38fedeadeb3e2ba794207d24d0682d84cce Mon Sep 17 00:00:00 2001 From: jgart Date: Mon, 14 Nov 2022 22:04:08 -0600 Subject: gnu: emacs-crdt: Update to 0.3.4. * gnu/packages/emacs-xyz.scm (emacs-crdt): Update to 0.3.4. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 47d376d8d3..2dbc5d48c1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -20734,8 +20734,8 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (define-public emacs-crdt ;; XXX: Upstream does not always tag new releases. The commit below ;; corresponds exactly to latest version bump. - (let ((commit "480f60fdda9e40848920fa460b59dfba23fa06e5") - (version "0.3.3")) + (let ((commit "92a7c93a3b4cb4b40f133acd22c89a5fda5cdd30") + (version "0.3.4")) (package (name "emacs-crdt") (version version) @@ -20747,7 +20747,7 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "10hb2xwv8ylkm4cla2q5l11r1m1s1j4ywiwvy9x5884gxvbpbbph")))) + (base32 "1vh4d15g62crm4vimc7lgr11ws68g25ylipnvqlrrkvl6qrz3fhj")))) (build-system emacs-build-system) (home-page "https://code.librehq.com/qhong/crdt.el") (synopsis "Real-time collaborative editing environment") -- cgit v1.2.3 From d2c8d0a94e1dbe22fb4002a6d43740a5c200476b Mon Sep 17 00:00:00 2001 From: "André A. Gomes" Date: Tue, 15 Nov 2022 11:02:45 +0200 Subject: gnu: emacs-sly-asdf: Update to 0.2.0. * gnu/packages/emacs-xyz.scm (emacs-sly-asdf): Update to 0.2.0. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 48 ++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 25 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2dbc5d48c1..4b76cdae59 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13064,32 +13064,30 @@ sly-quickload command that prompts the user for a package to install.") (license license:gpl3+)))) (define-public emacs-sly-asdf - (let ((commit "3180921efdc19a2195960e1d601b2a6f31a6feea") - (revision "5")) - (package - (name "emacs-sly-asdf") - (version (git-version "0.1.0" revision commit)) - (home-page "https://github.com/mmgeorge/sly-asdf") - (source - (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gncp8xv33s4wx594bgd35vr1455bcggv1bg28qv75mhv41nzw97")))) - (build-system emacs-build-system) - (propagated-inputs - (list emacs-sly emacs-popup)) - (arguments - '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) - (synopsis "ASDF contrib for SLY") - (description - "@command{sly-asdf} is an external contrib for SLY that provides + (package + (name "emacs-sly-asdf") + (version "0.2.0") + (home-page "https://github.com/mmgeorge/sly-asdf") + (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 + "0gncp8xv33s4wx594bgd35vr1455bcggv1bg28qv75mhv41nzw97")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-sly emacs-popup)) + (arguments + '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) + (synopsis "ASDF contrib for SLY") + (description + "@command{sly-asdf} is an external contrib for SLY that provides additional support for working with ASDF projects.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-sly-named-readtables (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f") -- cgit v1.2.3 From 3a930dc2c0593ae361d8dd251485a6c43e7cd15f Mon Sep 17 00:00:00 2001 From: jgart Date: Thu, 17 Nov 2022 00:32:50 -0600 Subject: gnu: emacs-purs-mode: Update to 1655338. * gnu/packages/emacs-xyz.scm (emacs-purs-mode): Update to 1655338. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4b76cdae59..e6d1920baa 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -33610,8 +33610,8 @@ by leveraging @code{emacs-consult} APIs.") (define-public emacs-purs-mode ;; XXX: Upstream set no tag nor any Version keyword. Using 0 as the base ;; version. - (let ((commit "d29f1021787a90d0fd3eb0af625958abb7f7506b") - (revision "0")) + (let ((commit "16553383915cf453747a491715ed0427c107cc9e") + (revision "1")) (package (name "emacs-purs-mode") (version (git-version "0" revision commit)) @@ -33624,7 +33624,7 @@ by leveraging @code{emacs-consult} APIs.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0r7219ysf3hsjnan30hidf8jamcqsz36pkcmnhknff0c6dpwbnpx")))) + (base32 "0174p0g38jd34jwpww7zgh48i3lkhqrnrxz8ca09idz4adri38z7")))) (build-system emacs-build-system) (home-page "https://github.com/PureFunctor/purs-mode/") (synopsis "PureScript major mode for Emacs") -- cgit v1.2.3 From 75320fbe926005ac525ceeed71b12a4145928f7d Mon Sep 17 00:00:00 2001 From: Aleksandr Vityazev Date: Mon, 14 Nov 2022 17:03:48 +0000 Subject: gnu: Add emacs-ef-themes. * gnu/packages/emacs-xyz.scm (emacs-ef-themes): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e6d1920baa..26dc8a6def 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5172,6 +5172,29 @@ tool for Emacs. Ecukes is not a complete clone of Cucumber and is not intended to be.") (license license:gpl3+))) +(define-public emacs-ef-themes + (package + (name "emacs-ef-themes") + (version "0.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/ef-themes") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h1xlcbcay8wlmhzv7b5h6vrvwdwkzc171aa0rfja2xds4ry9k0m")))) + (build-system emacs-build-system) + (home-page "https://git.sr.ht/~protesilaos/ef-themes") + (synopsis "Colorful and legible themes") + (description + "The Ef themes are a collection of light and dark themes for GNU Emacs +whose goal is to provide colorful yet legible options for users who want +something with a bit more flair than the Modus themes.") + (license license:gpl3+))) + (define-public emacs-espuds (package (name "emacs-espuds") -- cgit v1.2.3 From 3060268de30f87bb6ac62404612ab363e8aa14e9 Mon Sep 17 00:00:00 2001 From: Aleksandr Vityazev Date: Mon, 7 Nov 2022 10:51:22 +0300 Subject: gnu: emacs-skempo: Remove dependency on emacs-parent-mode. * gnu/packages/emacs-xyz.scm (emacs-skempo)[propagated-inputs]: Remove dependency on emacs-parent-mode. As of a936f8d9fa0d42f17c64da9d2652a5f3e7c6546a commit skempo drop dependency for parent-mode. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 2 -- 1 file changed, 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 26dc8a6def..a6663dadae 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4773,8 +4773,6 @@ Stack Overflow, Super User, and other StackExchange sites.") (base32 "0xsr6819qaad0y8rhfrf555c9w7cmgbgkf1a2svgbp7rhhnywl0a")))) (build-system emacs-build-system) - (propagated-inputs - (list emacs-parent-mode)) (home-page "https://github.com/xFA25E/skempo") (synopsis "Enhancements for skeleton/tempo + abbrev") (description -- cgit v1.2.3 From 07dddca27bd0128c93824b9c20e96c4be3a7797f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 17 Nov 2022 12:44:54 +0100 Subject: gnu: emacs-subed: Update to 1.0.21. * gnu/packages/emacs-xyz.scm (emacs-subed): Update to 1.0.21. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a6663dadae..fe0d9f1dc9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7097,14 +7097,14 @@ user.") (define-public emacs-subed (package (name "emacs-subed") - (version "1.0.19") + (version "1.0.21") (source (origin (method url-fetch) (uri (string-append "https://elpa.nongnu.org/nongnu/subed-" version ".tar")) (sha256 (base32 - "1wgicb0lvnghhr3a1xndkaxhs1c9gc1ac5xwvxcsc9zpgzrlmcda")))) + "0l4xv56ab31li9l77x68jnpcn47xgj0gqjfs5diklr665vjmfqim")))) (arguments (list #:tests? #t -- cgit v1.2.3 From 44554e7133aa60e1b453436be1e80394189cabd9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 16 Nov 2022 23:09:17 -0500 Subject: Revert "services: configuration: Revert to a working ‘guix home’." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 39e4e00f75be8055300cb0afffb8bd4b4d35f2cc, with fixes for the guix home issues reported and another one found while reconfiguring berlin in the subsequent commit. --- doc/guix.texi | 45 ++++++++++++++++++++++++++++++++-------- gnu/home/services/mcron.scm | 47 ++++++++++++++++++++++++++++++++---------- gnu/services/configuration.scm | 10 ++++----- gnu/services/mcron.scm | 47 ++++++++++++++++++++++++++++++++---------- gnu/services/monitoring.scm | 4 ++-- 5 files changed, 115 insertions(+), 38 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 4d974be53e..ef3b8e127e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19019,20 +19019,33 @@ words, it is possible to define services that provide additional mcron jobs to run. @end defvr +@c Generated via (generate-documentation) at the bottom of (gnu services +@c mcron). +@c %start of fragment @deftp {Data Type} mcron-configuration -Data type representing the configuration of mcron. +Available @code{mcron-configuration} fields are: @table @asis -@item @code{mcron} (default: @var{mcron}) +@item @code{mcron} (default: @code{mcron}) (type: file-like) The mcron package to use. -@item @code{jobs} +@item @code{jobs} (default: @code{()}) (type: list-of-gexps) This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}). +specifications,, mcron,GNU@tie{}mcron}). + +@item @code{log?} (default: @code{#t}) (type: boolean) +Log messages to standard output. + +@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) +@code{(ice-9 format)} format string for log messages. The default value +produces messages like "@samp{@var{pid} @var{name}: @var{message}"} +(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message +is also prefixed by a timestamp by GNU Shepherd. + @end table @end deftp - +@c %end of fragment @node Log Rotation @subsection Log Rotation @@ -41068,18 +41081,32 @@ jobs to run. @end defvr @deftp {Data Type} home-mcron-configuration -Data type representing the configuration of mcron. +Available @code{home-mcron-configuration} fields are: +@c Auto-generated with (gnu home services mcron)'s +@c generate-documentation procedure. +@c %start of fragment @table @asis -@item @code{mcron} (default: @var{mcron}) +@item @code{mcron} (default: @code{mcron}) (type: file-like) The mcron package to use. -@item @code{jobs} +@item @code{jobs} (default: @code{()}) (type: list-of-gexps) This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job -specifications,, mcron, GNU@tie{}mcron}). +specifications,, mcron,GNU@tie{}mcron}). + +@item @code{log?} (default: @code{#t}) (type: boolean) +Log messages to standard output. + +@item @code{log-format} (default: @code{"~1@@*~a ~a: ~a~%"}) (type: string) +@code{(ice-9 format)} format string for log messages. The default value +produces messages like "@samp{@var{pid} @var{name}: @var{message}"} +(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}). Each message +is also prefixed by a timestamp by GNU Shepherd. + @end table @end deftp +@c %end of fragment @node Power Management Home Services @subsection Power Management Home Services diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index 0b3dbb810b..1d294a997c 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (gnu home services mcron) #:use-module (gnu packages guile-xyz) #:use-module (gnu home services) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu home services shepherd) #:use-module (guix records) @@ -53,13 +55,23 @@ ;; ;;; Code: -(define-record-type* home-mcron-configuration - make-home-mcron-configuration - home-mcron-configuration? - (package home-mcron-configuration-package ; package - (default mcron)) - (jobs home-mcron-configuration-jobs ; list of jobs - (default '()))) +(define list-of-gexps? + (list-of gexp?)) + +(define-configuration/no-serialization home-mcron-configuration + (mcron (file-like mcron) "The mcron package to use.") + (jobs + (list-of-gexps '()) + "This is a list of gexps (@pxref{G-Expressions}), where each gexp +corresponds to an mcron job specification (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}).") + (log? (boolean #t) "Log messages to standard output.") + (log-format + (string "~1@*~a ~a: ~a~%") + "@code{(ice-9 format)} format string for log messages. The default value +produces messages like \"@samp{@var{pid} @var{name}: +@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). +Each message is also prefixed by a timestamp by GNU Shepherd.")) (define job-files (@@ (gnu services mcron) job-files)) (define shepherd-schedule-action @@ -69,19 +81,23 @@ (match-lambda (($ mcron '()) ; no jobs to run '()) - (($ mcron jobs) + (($ mcron jobs log? log-format) (let ((files (job-files mcron jobs))) (list (shepherd-service (documentation "User cron jobs.") (provision '(mcron)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ; for the 'schedule' action + (ice-9 popen) ; for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list #$(file-append mcron "/bin/mcron") #$@files) + (list (string-append #$mcron "/bin/mcron") + #$@(if log? + #~("--log" "--log-format" #$log-format) + #~()) + #$@files) #:log-file (string-append (or (getenv "XDG_LOG_HOME") (format #f "~a/.local/var/log" @@ -91,7 +107,7 @@ (actions (list (shepherd-schedule-action mcron files))))))))) -(define home-mcron-profile (compose list home-mcron-configuration-package)) +(define home-mcron-profile (compose list home-mcron-configuration-mcron)) (define (home-mcron-extend config jobs) (home-mcron-configuration @@ -113,3 +129,12 @@ (default-value (home-mcron-configuration)) (description "Install and configure the GNU mcron cron job manager."))) + + +;;; +;;; Generate documentation. +;;; +(define (generate-doc) + (configuration->documentation 'home-mcron-configuration)) + +;;; mcron.scm ends here diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index 636c49ccba..dacfc52ba9 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -242,17 +242,17 @@ does not have a default value" field kind))) stem #,(id #'stem #'make- #'stem) #,(id #'stem #'stem #'?) - (%location #,(id #'stem #'stem #'-location) - (default (and=> (current-source-location) - source-properties->location)) - (innate)) #,@(map (lambda (name getter def) #`(#,name #,getter (default #,def) (sanitize #,(id #'stem #'validate- #'stem #'- name)))) #'(field ...) #'(field-getter ...) - #'(field-default ...))) + #'(field-default ...)) + (%location #,(id #'stem #'stem #'-location) + (default (and=> (current-source-location) + source-properties->location)) + (innate))) (define #,(id #'stem #'stem #'-fields) (list (configuration-field diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 23760ebda4..52332d6123 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,6 +19,7 @@ (define-module (gnu services mcron) #:use-module (gnu services) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu packages guile-xyz) #:use-module (guix deprecation) @@ -30,6 +32,8 @@ mcron-configuration? mcron-configuration-mcron mcron-configuration-jobs + mcron-configuration-log? + mcron-configuration-log-format mcron-service-type)) @@ -48,13 +52,23 @@ ;;; ;;; Code: -(define-record-type* mcron-configuration - make-mcron-configuration - mcron-configuration? - (mcron mcron-configuration-mcron ;file-like - (default mcron)) - (jobs mcron-configuration-jobs ;list of - (default '()))) +(define list-of-gexps? + (list-of gexp?)) + +(define-configuration/no-serialization mcron-configuration + (mcron (file-like mcron) "The mcron package to use.") + (jobs + (list-of-gexps '()) + "This is a list of gexps (@pxref{G-Expressions}), where each gexp +corresponds to an mcron job specification (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}).") + (log? (boolean #t) "Log messages to standard output.") + (log-format + (string "~1@*~a ~a: ~a~%") + "@code{(ice-9 format)} format string for log messages. The default value +produces messages like \"@samp{@var{pid} @var{name}: +@var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron, GNU@tie{}mcron}). +Each message is also prefixed by a timestamp by GNU Shepherd.")) (define (job-files mcron jobs) "Return a list of file-like object for JOBS, a list of gexps." @@ -124,21 +138,25 @@ files." (define mcron-shepherd-services (match-lambda - (($ mcron ()) ;nothing to do! + (($ mcron ()) ;nothing to do! '()) - (($ mcron jobs) + (($ mcron jobs log? log-format) (let ((files (job-files mcron jobs))) (list (shepherd-service (provision '(mcron)) (requirement '(user-processes)) (modules `((srfi srfi-1) (srfi srfi-26) - (ice-9 popen) ;for the 'schedule' action + (ice-9 popen) ;for the 'schedule' action (ice-9 rdelim) (ice-9 match) ,@%default-modules)) (start #~(make-forkexec-constructor - (list (string-append #$mcron "/bin/mcron") #$@files) + (list (string-append #$mcron "/bin/mcron") + #$@(if log? + #~("--log" "--log-format" #$log-format) + #~()) + #$@files) ;; Disable auto-compilation of the job files and set a ;; sane value for 'PATH'. @@ -172,4 +190,11 @@ files." jobs))))) (default-value (mcron-configuration)))) ;empty job list + +;;; +;;; Generate documentation. +;;; +(define (generate-doc) + (configuration->documentation 'mcron-configuration)) + ;;; mcron.scm ends here diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index 9c8704092c..b19c6c9f18 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -622,8 +622,8 @@ create it manually.") (define (zabbix-front-end-config config) (match-record config - (%location db-host db-port db-name db-user db-password db-secret-file - zabbix-host zabbix-port) + (db-host db-port db-name db-user db-password db-secret-file + zabbix-host zabbix-port %location) (mixed-text-file "zabbix.conf.php" "\ Date: Wed, 16 Nov 2022 23:10:39 -0500 Subject: Fix problems initially introduced in commit 543d971ed2, now reinstated. Commit 543d971ed2 ("services: configuration: Re-order generated record fields") introduced two regressions, one in guix home and another one in the zabbix service. * gnu/home/services/shells.scm (home-bash-extensions): Remove the first pattern in the match, which used to be to ignore %location. * gnu/services/monitoring.scm (zabbix-front-end-nginx-extension): Likewise. --- gnu/home/services/shells.scm | 2 +- gnu/services/monitoring.scm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm index 172e58a9ff..3e346c3813 100644 --- a/gnu/home/services/shells.scm +++ b/gnu/home/services/shells.scm @@ -480,7 +480,7 @@ with text blocks from other extensions and the base service.")) (define (home-bash-extensions original-config extension-configs) (match original-config - (($ _ _ _ environment-variables aliases + (($ _ _ environment-variables aliases bash-profile bashrc bash-logout) (home-bash-configuration (inherit original-config) diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index b19c6c9f18..d6dc2c1e03 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -576,7 +576,7 @@ fastcgi_param PHP_VALUE \"post_max_size = 16M (define (zabbix-front-end-nginx-extension config) (match config - (($ _ server nginx) + (($ server nginx) (if (null? nginx) (list (nginx-server-configuration -- cgit v1.2.3 From 7ae4cfa5aa5b48afc454c392055231a953f5b6c4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 16 Nov 2022 23:14:48 -0500 Subject: services: Streamline or eliminate some match-lambda patterns. These were spot while working on a fix for commit 543d971ed2 ("services: configuration: Re-order generated record fields"). * gnu/services/web.scm (php-fpm-accounts): Remove extraneous trailing dummy catchall patterns. (agate-accounts): Access the configuration fields directly since there are only two, which is less error-prone. --- gnu/services/web.scm | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) (limited to 'gnu') diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 2023119037..f337c90077 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -987,7 +987,7 @@ and the back-end of a Web service."))) (define php-fpm-accounts (match-lambda - (($ php socket user group socket-user socket-group _ _ _ _ _ _) + (($ php socket user group socket-user socket-group) `(,@(if (equal? group "php-fpm") '() (list (user-group (name "php-fpm") (system? #t)))) @@ -2143,24 +2143,23 @@ root=/srv/gemini (stop #~(make-kill-destructor))))))) (define agate-accounts - (match-lambda - (($ _ _ _ _ _ - _ _ _ _ - _ user group _) - `(,@(if (equal? group "agate") - '() - (list (user-group (name "agate") (system? #t)))) - ,(user-group - (name group) - (system? #t)) - ,(user-account - (name user) - (group group) - (supplementary-groups '("agate")) - (system? #t) - (comment "agate server user") - (home-directory "/var/empty") - (shell (file-append shadow "/sbin/nologin"))))))) + (lambda (config) + (let ((group (agate-configuration-group config)) + (user (agate-configuration-user config))) + `(,@(if (equal? group "agate") + '() + (list (user-group (name "agate") (system? #t)))) + ,(user-group + (name group) + (system? #t)) + ,(user-account + (name user) + (group group) + (supplementary-groups '("agate")) + (system? #t) + (comment "agate server user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))))) (define agate-service-type (service-type -- cgit v1.2.3 From b64a80258b8bef89f560f47bf84b71061c6127a6 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Wed, 16 Nov 2022 19:11:29 +0100 Subject: gnu: Add navit. * gnu/packages/geo.scm (navit): New variable. Signed-off-by: Denis 'GNUtoo' Carikli Signed-off-by: Christopher Baines --- gnu/packages/geo.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index ade53a503c..f8163b1e37 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2021, 2022 Nikolay Korotkiy ;;; Copyright © 2022 Roman Scherer ;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Denis 'GNUtoo' Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,6 +115,8 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) + #:use-module (gnu packages speech) #:use-module (gnu packages swig) #:use-module (gnu packages sqlite) #:use-module (gnu packages textutils) @@ -2770,3 +2773,106 @@ using third-party geocoders and other data sources.") reconstructions of geological and paleogeographic features through geological time. Interactively visualize vector, raster and volume data.") (license license:gpl2+))) + +(define-public navit + (package + (name "navit") + (version "0.5.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/navit-gps/navit") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1jhlif0sc5m8wqb5j985g1xba2ki7b7mm14pkvzdghjd0q0gf15s")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + ;; There are no tests + #:tests? #f + ;; With -DSAMPLE_MAP=TRUE (the default), it tries to download a + ;; map during the build process. + #:configure-flags #~(list "-DSAMPLE_MAP=FALSE") + #:phases + #~(modify-phases %standard-phases + (add-after + 'unpack 'patch-navit-config + (lambda _ + ;; For now this package only supports SDL, so if we keep + ;; the configuration as-is, Navit doesn't start. + (substitute* + "navit/navit_shipped.xml" + (("") + "")) + ;; Users are expected to be able to add XML files inside + ;; $NAVIT_SHAREDIR, however that directory is in the store. + (substitute* + "navit/navit_shipped.xml" + (("") + "")) + ;; Navit also works without GPS but in that case there is + ;; no automatic zooming, so we need zoom buttons to be able + ;; to manually zoom in or out. + (substitute* + "navit/navit_shipped.xml" + (((string-append + ""))))) + (add-before + 'build 'set-cache + ;; During the build, svg icons are converted in different + ;; formats, and this needs XDG_CACHE_HOME to work. + (lambda _ + (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")))))) + (inputs (list dbus-glib + espeak + freeglut + freeimage + freetype + glib + gettext-minimal + gpsd + gdk-pixbuf + imlib2 + python + sdl + sdl-image)) + (native-inputs (list fontconfig + (librsvg-for-system) + pkg-config)) + (home-page "https://www.navit-project.org") + (synopsis "Car navigation system with routing engine that uses vector maps data") + (description "Navit is a car navigation system with a routing engine. + +It is meant to work with touchscreen devices, but it also works +without a touchscreen. It also supports text to speech. + +It can be configured extensively through its own configuration file +format. For instance we can configure the graphical interface, and +which map data is to be displayed at which zoom level. + +It supports different routing profiles: bike, car, car_avoid_toll, +car_pedantic, car_shortest, horse, pedestrian, truck. + +It can use gpsd or NMEA GPS directly to get position data. It also +works without GPS: in this case users can also enter position data +directly. + +It can also be used to log GPS data to files using the GPX or NMEA +formats, or to replay NMEA data. + +For maps, it can uses its own \"binfile\" map format, or Garmin map +file format, and data from OpenStreetMap, Garmin maps, Marco Polo +Grosser Reiseplaner, Routeplaner Europa 2007, Map + Route.") + (license license:gpl2))) -- cgit v1.2.3 From ce4896e85dfc667959b46c29191961f8280a364b Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 21:00:17 -0500 Subject: gnu: httpie: Update to 3.2.1. * gnu/packages/python-web.scm (httpie): Update to 3.2.1. [propagated-inputs]: Add python-rich. Signed-off-by: Christopher Baines --- gnu/packages/python-web.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index f7bbcc48a1..871062f697 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -953,14 +953,14 @@ other HTTP libraries.") (define-public httpie (package (name "httpie") - (version "3.1.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (pypi-uri "httpie" version)) (sha256 (base32 - "1npyfvrq0l56bil8rnpj78mav378mxx4zcqzq1jjx4aap1020jif")))) + "1v736y2h7lcyrnxs9y5sf4xwzgll7pc2s6r3ny929mm8lcn07h69")))) (build-system python-build-system) (arguments ;; The tests attempt to access external web servers, so we cannot run them. @@ -973,6 +973,7 @@ other HTTP libraries.") python-pysocks python-charset-normalizer python-defusedxml + python-rich python-multidict)) (home-page "https://httpie.io") (synopsis "cURL-like tool for humans") -- cgit v1.2.3 From cfeb51a6de11393aa275c0bf23b620572d2fd9ad Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 21:49:02 -0500 Subject: gnu: trash-cli: Update to 0.22.10.20. * gnu/packages/shellutils.scm (trash-cli): Update to 0.22.10.20. [native-inputs]: Add python-parameterized and python-flexmock. Signed-off-by: Christopher Baines --- gnu/packages/shellutils.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index e70b9ef706..40f33f5227 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -369,7 +369,7 @@ between various shells or commands.") (define-public trash-cli (package (name "trash-cli") - (version "0.21.10.24") + (version "0.22.10.20") (source (origin (method git-fetch) @@ -379,7 +379,7 @@ between various shells or commands.") (file-name (git-file-name name version)) (sha256 (base32 - "01is32lk6prwhajvlmgn3xs4fcpmiqivizcqkj9k80jx6mqjifzs")))) + "0hkn0hmwrag56g447ddqapib0s399a6b4a9wlliif6zmirxlww9n")))) (build-system python-build-system) (arguments `(#:phases @@ -410,6 +410,8 @@ between various shells or commands.") (invoke "pytest"))))))) (native-inputs (list python-pytest + python-parameterized + python-flexmock python-mock python-six)) (inputs (list coreutils)) -- cgit v1.2.3 From 024a98cb83c6b7d6bebbd56645bc6534d77f3ebc Mon Sep 17 00:00:00 2001 From: kiasoc5 Date: Tue, 15 Nov 2022 21:49:04 -0500 Subject: gnu: trash-cli: Use G-expressions. * gnu/packages/shellutils.scm (trash-cli)[arguments]: Use G-expressions. Signed-off-by: Christopher Baines --- gnu/packages/shellutils.scm | 51 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 26 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 40f33f5227..3fd98ecba8 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -382,32 +382,31 @@ between various shells or commands.") "0hkn0hmwrag56g447ddqapib0s399a6b4a9wlliif6zmirxlww9n")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'patch-path-constants - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc")) - (coreutils (assoc-ref inputs "coreutils"))) - (substitute* "trashcli/list_mount_points.py" - (("\"/lib/libc.so.6\".*") - (string-append "\"" libc "/lib/libc.so.6\"\n")) - (("\"df\"") - (string-append "\"" coreutils "/bin/df\"")))))) - (add-before 'build 'fix-setup.py - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (substitute* "setup.py" - (("add_script\\('") - (string-append "add_script('" bin "/" )))))) - ;; Whenever setup.py is invoked, scripts in out/bin/ are - ;; replaced. Thus we cannot invoke setup.py for testing. - ;; Upstream also uses pytest. - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest"))))))) + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-path-constants + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (search-input-file inputs "lib/libc.so.6")) + (df #$(file-append coreutils "/bin/df"))) + (substitute* "trashcli/list_mount_points.py" + (("\"/lib/libc.so.6\".*") + (string-append "\"" libc "\"\n")) + (("\"df\"") + (string-append "\"" df "\"")))))) + (add-before 'build 'fix-setup.py + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append #$output "/bin"))) + (mkdir-p bin) + (substitute* "setup.py" + (("add_script\\('") + (string-append "add_script('" bin "/" )))))) + ;; Whenever setup.py is invoked, scripts in out/bin/ are + ;; replaced. Thus we cannot invoke setup.py for testing. + ;; Upstream also uses pytest. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (native-inputs (list python-pytest python-parameterized -- cgit v1.2.3 From f91f9006c48bea14e1bb7f45c1ab036e9490c089 Mon Sep 17 00:00:00 2001 From: jgart Date: Fri, 11 Nov 2022 00:28:23 -0600 Subject: gnu: python-hypothesis: Update home-page. * gnu/packages/check.scm.scm (python-hypothesis)[home-page]: Update it. Signed-off-by: Christopher Baines --- gnu/packages/check.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index ec2545dbbf..c900a055d5 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2022 Maxime Devos ;;; Copyright © 2022 David Elsing ;;; Copyright © 2022 Sharlatan Hellseher +;;; Copyright © 2022 jgart ;;; ;;; This file is part of GNU Guix. ;;; @@ -2173,7 +2174,7 @@ instantly.") much larger range of examples than you would ever want to write by hand. It’s based on the Haskell library, Quickcheck, and is designed to integrate seamlessly into your existing Python unit testing work flow.") - (home-page "https://github.com/HypothesisWorks/hypothesis") + (home-page "https://hypothesis.works/") (license license:mpl2.0))) ;;; TODO: Make the default python-hypothesis in the next rebuild cycle. -- cgit v1.2.3 From 35ef5fca0ac997680e47942e25f403fb3ec54c7d Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 12 Nov 2022 15:53:21 -0300 Subject: services: gitolite: Use the correct variable for the user-group. The default value for has "git" for both the values of the user and the group, as costumary, which means that unless someone uses a custom configuration and chooses different strings for user and group, this wouldn't show up. * gnu/services/version-control.scm (gitolite-accounts): Use the correct variable for the name of a (user-group ...). Signed-off-by: Christopher Baines --- gnu/services/version-control.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index b6b78e504e..86d40bdbe3 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -313,7 +313,7 @@ access to exported repositories under @file{/srv/git}." (($ package user group home-directory rc-file admin-pubkey) ;; User group and account to run Gitolite. - (list (user-group (name user) (system? #t)) + (list (user-group (name group) (system? #t)) (user-account (name user) (group group) -- cgit v1.2.3 From e5497d09a1f349fdc3517a280d4fa08bd7afca89 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Mon, 14 Nov 2022 13:44:22 -0500 Subject: gnu: botan: Update to 2.19.2 * gnu/packages/crypto.scm (botan): Update to 2.19.2. Signed-off-by: Christopher Baines --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e63ed011aa..821e78d55a 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -953,14 +953,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (define-public botan (package (name "botan") - (version "2.19.1") + (version "2.19.2") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" "Botan-" version ".tar.xz")) (sha256 (base32 - "0q2mzzg0a40prp9gwjk7d9fn8kwj6z2x6h6mzlm0hr6sxz7h0vp2")))) + "0xad3fa96l6x3azxs2gbz5jfqm2drfv9y9idhf5wvdf62mvg3x9s")))) (build-system gnu-build-system) (arguments (list -- cgit v1.2.3 From 7b7e80cf2505940b092deb9caa1b3cf90779ef8e Mon Sep 17 00:00:00 2001 From: ギャラ Date: Tue, 15 Nov 2022 11:04:27 +0900 Subject: gnu: neovim: Update to 0.8.1. * gnu/packages/vim.scm (neovim): Update to 0.8.1. Signed-off-by: Christopher Baines --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index c35b74eec2..957f00a92e 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -692,7 +692,7 @@ are detected, the user is notified."))) (define-public neovim (package (name "neovim") - (version "0.8.0") + (version "0.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -701,7 +701,7 @@ are detected, the user is notified."))) (file-name (git-file-name name version)) (sha256 (base32 - "0hkd49wkxfi6k1xa92hdd4b9z356r32hbpr78z1cigcln1wr0z7j")))) + "08qyni2qg63ghxl50am97pajdhkp05s1cglis3mlvkxx3pvzkrli")))) (build-system cmake-build-system) (arguments (list #:modules -- cgit v1.2.3 From ebde19092f3fc28fdb7fd091757d72cc1f67f057 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 17 Nov 2022 13:09:38 +0100 Subject: gnu: r-circus: Update to 0.1.7. * gnu/packages/bioinformatics.scm (r-circus): Update to 0.1.7. [properties]: Add upstream-name property. [propagated-inputs]: Add r-biocgenerics, r-genomeinfodb, and r-rtracklayer. --- gnu/packages/bioinformatics.scm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e411839043..6d7097c42c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12300,24 +12300,26 @@ interaction inference from scRNA-seq data.") (define-public r-circus (package (name "r-circus") - (version "0.1.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/BIMSBbioinfo/ciRcus") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0jhjn3ilb057hbf6yzrihj13ifxxs32y7nkby8l3lkm28dg4p97h")))) + (version "0.1.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BIMSBbioinfo/ciRcus") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d1jz7r81zbcy1gkppggkjmgjxyjhva69s3cdb01m3f0790m4fv0")))) + (properties `((upstream-name . "ciRcus"))) (build-system r-build-system) (propagated-inputs (list r-annotationdbi r-annotationhub + r-biocgenerics r-biomart r-data-table r-dbi + r-genomeinfodb r-genomicfeatures r-genomicranges r-ggplot2 @@ -12325,6 +12327,7 @@ interaction inference from scRNA-seq data.") r-iranges r-rcolorbrewer r-rmysql + r-rtracklayer r-s4vectors r-stringr r-summarizedexperiment)) -- cgit v1.2.3 From d26337e7ef2ced7f3b06538ed837aa921218cb1c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 17 Nov 2022 14:28:31 +0100 Subject: gnu: conda: Remove trailing #T from build phases. * gnu/packages/package-management.scm (conda)[arguments]: Remove trailing #T from build phases. --- gnu/packages/package-management.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 7279234f69..a090f98454 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1042,8 +1042,7 @@ extracting, creating, and converting between formats.") (substitute* "conda/core/initialize.py" (("python_exe = join") (format #f "python_exe = \"~a/bin/python\" #" - python)))) - #t)) + python)))))) (add-after 'unpack 'do-not-use-python-root-as-prefix (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -1066,13 +1065,11 @@ extracting, creating, and converting between formats.") (("os.path.join\\(sys.prefix, bin_dir, exe\\)") (format #f "\"~a/bin/conda\"" out)) (("'CONDA_EXE', sys.executable") - (format #f "'CONDA_EXE', \"~a/bin/conda\"" out)))) - #t)) + (format #f "'CONDA_EXE', \"~a/bin/conda\"" out)))))) (add-before 'build 'create-version-file (lambda _ (with-output-to-file "conda/.version" - (lambda () (display ,version))) - #t)) + (lambda () (display ,version))))) (replace 'check (lambda _ (setenv "HOME" "/tmp") -- cgit v1.2.3 From 8e42bfaffa3ecee4c3f0ee6ff257f4fcd90d4677 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 17 Nov 2022 14:29:35 +0100 Subject: gnu: conda: Update to 22.9.0. * gnu/packages/package-management.scm (conda): Update to 22.9.0. [arguments]: Add phase "use-older-pytest"; run tests conditionally; disable broken tests; remove phase "fix-permissions". [propagated-inputs]: Add python-boto3 and python-pluggy. [native-inputs]: Add python-coverage, python-flaky, and python-pytest-xprocess. --- gnu/packages/package-management.scm | 89 +++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 39 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index a090f98454..891b504a46 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1007,7 +1007,7 @@ extracting, creating, and converting between formats.") (define-public conda (package (name "conda") - (version "4.10.3") + (version "22.9.0") (source (origin (method git-fetch) @@ -1017,17 +1017,16 @@ extracting, creating, and converting between formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1w4yy62bsvkybjvcm5fspck4ns5j16nplzpbx6bxv7zhx69pcp4n")))) + "16vz4vx311ry9w35mi5wna8p8n3abd6wdqrpqzjfdlwv7hcr44s4")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-permissions + ;; The default version of pytest does not support these options. + (add-after 'unpack 'use-older-pytest (lambda _ - ;; This file is no longer writable after downloading with - ;; 'git-fetch' - (make-file-writable - "tests/conda_env/support/saved-env/environment.yml"))) + (substitute* "setup.cfg" + (("--xdoctest-.*") "")))) (add-after 'unpack 'fix-ruamel-yaml-dependency (lambda _ (substitute* "setup.py" @@ -1071,37 +1070,44 @@ extracting, creating, and converting between formats.") (with-output-to-file "conda/.version" (lambda () (display ,version))))) (replace 'check - (lambda _ - (setenv "HOME" "/tmp") - (invoke "py.test" "-vv" - "-k" - (string-append - "not integration" - ;; This one reports a newer version of conda than - ;; expected. - " and not test_auto_update_conda" - ;; This fails because the output directory is not a - ;; Conda environment. - " and not test_list" - ;; This fails because we patched the default root - ;; prefix. - " and not test_default_target_is_root_prefix" - - ;; These fail because ... - ;; TODO: conda patches its own shebang to - ;; $conda-prefix/bin/python, which is obviously wrong. - " and not test_run_returns_int" - " and not test_run_returns_zero_errorlevel" - " and not test_run_returns_nonzero_errorlevel" - - ;; TODO: I don't understand what this failure means - " and not test_PrefixData_return_value_contract" - ;; TODO: same here - " and not test_install_1" - ;; Not sure if this is really wrong. This fails because - ;; /gnu/store/...python-conda-4.8.3/bin/python - ;; is not /gnu/store/...python-wrapper-3.8.2/bin/python - " and not test_make_entry_point")))) + (lambda* (#:key tests? #:allow-other-keys) + ;; These tests all require network access. + (for-each delete-file '("tests/cli/test_main_clean.py" + "tests/cli/test_main_rename.py")) + (when tests? + (setenv "HOME" "/tmp") + (invoke "py.test" "-vv" + "-k" + (string-append + "not integration" + ;; This one reports a newer version of conda than + ;; expected; conda-1.5.2-py27_0 instead of + ;; conda-1.3.5-py27_0. + " and not test_auto_update_conda" + ;; This fails because the output directory is not a + ;; Conda environment. + " and not test_list" + ;; This fails because we patched the default root + ;; prefix. + " and not test_default_target_is_root_prefix" + ;; This fails because of missing features in python-flaky. + " and not test_no_features" + ;; These fail because they require network access + " and not test_no_ssl" + " and not test_run_readonly_env" + " and not test_run_returns_int" + " and not test_run_returns_nonzero_errorlevel" + " and not test_run_returns_zero_errorlevel" + " and not test_run_uncaptured" + + ;; TODO: I don't understand what this failure means + " and not test_PrefixData_return_value_contract" + ;; TODO: same here + " and not test_install_1" + ;; Not sure if this is really wrong. This fails because + ;; /gnu/store/...conda-22.9.0/bin/python + ;; is not /gnu/store/...python-wrapper-3.9.9/bin/python + " and not test_make_entry_point"))))) (add-after 'install 'init ;; This writes a whole bunch of shell initialization files to the ;; prefix directory. Many features of conda can only be used after @@ -1116,8 +1122,10 @@ extracting, creating, and converting between formats.") (list python-wrapper)) (propagated-inputs (list python-anaconda-client + python-boto3 python-conda-package-handling python-cytoolz + python-pluggy python-pycosat python-pytest python-pyyaml @@ -1128,7 +1136,10 @@ extracting, creating, and converting between formats.") ;; XXX: This is dragged in by libarchive and is needed at runtime. zstd)) (native-inputs - (list python-pytest-timeout)) + (list python-coverage + python-flaky + python-pytest-timeout + python-pytest-xprocess)) (home-page "https://github.com/conda/conda") (synopsis "Cross-platform, OS-agnostic, system-level binary package manager") (description -- cgit v1.2.3 From f5a7e4b9b21d3e8b01b479515023a9cf03ca3e06 Mon Sep 17 00:00:00 2001 From: Jonathan Brielmaier Date: Thu, 17 Nov 2022 18:21:44 +0100 Subject: gnu: icedove: Update to 102.5.0. * gnu/packages/gnuzilla.scm (%icedove-build-id, %icedove-version): Update to 102.5.0. --- gnu/packages/gnuzilla.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index f3e7efead7..feb80d81a2 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1242,8 +1242,8 @@ standards of the IceCat project.") (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) -(define %icedove-build-id "20221104000000") ;must be of the form YYYYMMDDhhmmss -(define %icedove-version "102.4.2") +(define %icedove-build-id "20221115000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-version "102.5.0") ;; Provides the "comm" folder which is inserted into the icecat source. ;; Avoids the duplication of Icecat's source tarball. @@ -1252,11 +1252,11 @@ standards of the IceCat project.") (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/releases/comm-esr102") - (changeset "bece6c033f6b24b9c126598da7c6eb5bc2a48b14"))) + (changeset "b6e9b5a1d1b53d26cfb7032ef2ff02203ab0486b"))) (file-name (string-append "thunderbird-" %icedove-version "-checkout")) (sha256 (base32 - "1fsn5lg0c89rnsnljd48gq1z751sxf6zv2rv7wgnhifc45w4s80j")))) + "0i2w1ibaip8rlghrk5iaih14xnz5n19ag64qcdgjxic78mhnmm04")))) (define-public icedove (package -- cgit v1.2.3 From 65976a8382678cd983ceddde040b777cba1f1be9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 17 Nov 2022 07:22:41 +0100 Subject: gnu: lld-as-ld-wrapper: Add version 15. * gnu/packages/llvm.scm (lld-as-ld-wrapper-15): New variable. --- gnu/packages/llvm.scm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index de19b40343..2b50b127c2 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1625,6 +1625,9 @@ misuse of libraries outside of the store.") (make-lld-wrapper lld)) ;;; A LLD wrapper that can be used as a (near) drop-in replacement to GNU ld. +(define-public lld-as-ld-wrapper-15 + (make-lld-wrapper lld-15 #:lld-as-ld? #t)) + (define-public lld-as-ld-wrapper (make-lld-wrapper lld #:lld-as-ld? #t)) -- cgit v1.2.3 From 28074f1e09771efe0cbf58610555dc227135d22b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 17 Nov 2022 07:23:04 +0100 Subject: gnu: ungoogled-chromium: Build with Clang 15. * gnu/packages/chromium.scm (ungoogled-chromium)[arguments]: Remove obsolete compiler flags. [native-inputs]: Change from CLANG-14 and LLD-AS-LD-WRAPPER to CLANG-15 and LLD-AS-LD-WRAPPER-15. --- gnu/packages/chromium.scm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 4556768dc7..e3deed573a 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -758,13 +758,6 @@ (setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm") (setenv "CC" "clang") (setenv "CXX" "clang++") - ;; Disable compiler flags that require Clang 15. - (substitute* "build/config/compiler/BUILD.gn" - (("\"-Wno-unqualified-std-cast-call\"") - "") - (("\"-Wno-deprecated-builtins\",") - "")) - ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") @@ -888,10 +881,10 @@ '("24" "48" "64" "128" "256"))))))))) (native-inputs (list bison - clang-14 + clang-15 gn gperf - lld-as-ld-wrapper + lld-as-ld-wrapper-15 ninja node-lts pkg-config -- cgit v1.2.3 From bb4d32b655ff216b734adabd8bc6783e01967aae Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 17 Nov 2022 19:05:27 +0100 Subject: gnu: Adjust users of deprecated packages. * gnu/packages/databases.scm (apache-arrow-0.16)[inputs]: Change from GOOGLE-BROTLI to BROTLI. * gnu/packages/image.scm (libjxl)[propagated-inputs]: Likewise. * gnu/packages/python-xyz.scm (python-logbook)[native-inputs]: Change from PYTHON-GOOGLE-BROTLI to PYTHON-BROTLI. --- gnu/packages/databases.scm | 2 +- gnu/packages/image.scm | 2 +- gnu/packages/python-xyz.scm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a511a9ae17..c6f4dd7fba 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4390,7 +4390,7 @@ algorithm implementations.") "-DARROW_BUILD_STATIC=OFF"))) (inputs `(("boost" ,boost) - ("brotli" ,google-brotli) + ("brotli" ,brotli) ("double-conversion" ,double-conversion) ("snappy" ,snappy) ("gflags" ,gflags) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index bbe03c64da..9e53b7483e 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -2278,7 +2278,7 @@ Format) file format decoder and encoder.") openexr)) ;; These are in Requires.private of libjxl.pc. (propagated-inputs - (list google-brotli google-highway)) + (list brotli google-highway)) (home-page "https://github.com/libjxl/libjxl") (synopsis "JPEG XL image format reference implementation") (description "This package contains a reference implementation of JPEG XL diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7f0dc8fba0..e3d1ac05fa 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -439,7 +439,7 @@ easy logging and rotating to a console or a file.") (invoke "pytest" "--cov=logbook" "-r" "s" "tests"))))))) (native-inputs (list python-cython python-mock python-pytest python-pytest-cov - python-google-brotli)) + python-brotli)) (home-page "https://github.com/getlogbook/logbook") (synopsis "Logbook is a logging replacement for Python") (description -- cgit v1.2.3