aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2025-03-17 02:59:12 +0000
committerArun Isaac <arunisaac@systemreboot.net>2025-03-17 03:02:31 +0000
commitfd19785a9a7f111c6a97da25187c3351e7e8f3fd (patch)
tree27a64723ea4b5b96e4a16608b8f33d7b53773dc6
parentccc9fd93c402a251bf53b25bd92be0a856f7999d (diff)
downloadguix-fd19785a9a7f111c6a97da25187c3351e7e8f3fd.tar.gz
guix-fd19785a9a7f111c6a97da25187c3351e7e8f3fd.zip
gnu: mumi: Update to 0.11.0.
* gnu/packages/mail.scm (mumi): Update to 0.11.0. * gnu/services/web.scm (<mumi-configuration>)[file-tags]: Remove field. [packages]: New field. (<mumi-package-configuration>): New record type. (mumi-package-configuration->alist): New function. * gnu/services/web.scm (mumi-config-file): Serialize packages configuration. * doc/guix.texi (Web Services)[mumi]: Document packages configuration.
-rw-r--r--doc/guix.texi28
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/services/web.scm53
3 files changed, 80 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 24321523b1..f71ef282a6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -33792,6 +33792,34 @@ something like @code{sendmail:///path/to/bin/msmtp} or any other URI
supported by Mailutils. @xref{SMTP Mailboxes, SMTP Mailboxes,,
mailutils, GNU@tie{}Mailutils}.
+@item @code{packages}
+List of @code{<mumi-package-configuration>} objects representing
+packages configured on Mumi.
+
+@end table
+@end deftp
+
+@deftp {Data Type} mumi-package-configuration
+Data type representing the configuration of a package on Mumi. This
+type has the following fields:
+
+@table @asis
+@item @code{name}
+Name of the package.
+
+@item @code{display-name}
+Display name used for this package in the web interface.
+
+@item @code{debbugs-packages}
+List of Debbugs packages this package refers to.
+
+@item @code{bug-email-address}
+Email address to send bug reports to.
+
+@item @code{patch-email-address}
+Email address to send patches to, if that is different from
+@code{bug-email-address}.
+
@item @code{file-tags}
Association list mapping tags to filename regular expressions. Keys are
tag names, and values are lists of regular expressions. For each entry
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8365c50ec8..d57c067504 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -4265,7 +4265,7 @@ It is a replacement for the @command{urlview} program.")
(define-public mumi
(package
(name "mumi")
- (version "0.10.0")
+ (version "0.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4274,7 +4274,7 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
- "12i6xy1pwb5rs7qd6ld1kglgcydjg9lfplvg3mbim9az8sz30dyy"))))
+ "022m3vjp40gck9hj889f3mqxhahjzcsiwqn9npi26dzgca7kv3rz"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 2b01095f75..561d3f39c3 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -298,6 +298,16 @@
mumi-configuration-mailer?
mumi-configuration-sender
mumi-configuration-smtp
+ mumi-configuration-packages
+
+ mumi-package-configuration
+ mumi-package-configuration?
+ mumi-package-configuration-name
+ mumi-package-configuration-display-name
+ mumi-package-configuration-debbugs-packages
+ mumi-package-configuration-bug-email-address
+ mumi-package-configuration-patch-email-address
+ mumi-package-configuration-file-tags
mumi-service-type
@@ -2025,7 +2035,21 @@ WSGIPassAuthorization On
(mailer? mumi-configuration-mailer? (default #t))
(sender mumi-configuration-sender (default #f))
(smtp mumi-configuration-smtp (default #f))
- (file-tags mumi-configuration-file-tags (default '())))
+ (packages mumi-configuration-packages (default '())))
+
+(define-record-type* <mumi-package-configuration>
+ mumi-package-configuration make-mumi-package-configuration
+ mumi-package-configuration?
+ (name mumi-package-configuration-name)
+ (display-name mumi-package-configuration-display-name
+ (default #f))
+ (debbugs-packages mumi-package-configuration-debbugs-packages)
+ (bug-email-address mumi-package-configuration-bug-email-address
+ (default #f))
+ (patch-email-address mumi-package-configuration-patch-email-address
+ (default #f))
+ (file-tags mumi-package-configuration-file-tags
+ (default '())))
(define %mumi-activation
(with-imported-modules '((guix build utils))
@@ -2057,9 +2081,30 @@ WSGIPassAuthorization On
(define %mumi-worker-log "/var/log/mumi.worker.log")
+(define mumi-package-configuration->alist
+ (match-record-lambda <mumi-package-configuration>
+ (name display-name debbugs-packages bug-email-address
+ patch-email-address file-tags)
+ `(,name
+ ,@(if display-name
+ `((display-name . ,display-name))
+ '())
+ ,@(if debbugs-packages
+ `((debbugs-packages . ,debbugs-packages))
+ '())
+ ,@(if bug-email-address
+ `((bug-email-address . ,bug-email-address))
+ '())
+ ,@(if patch-email-address
+ `((patch-email-address . ,patch-email-address))
+ '())
+ ,@(match file-tags
+ (() '())
+ (_ `((file-tags . ,file-tags)))))))
+
(define mumi-config-file
(match-record-lambda <mumi-configuration>
- (mailer? file-tags)
+ (mailer? packages)
(computed-file "mumi.conf"
#~(begin
(use-modules (srfi srfi-26))
@@ -2067,7 +2112,9 @@ WSGIPassAuthorization On
(call-with-output-file #$output
(cut write
'((mailer-enabled? . #$mailer?)
- (file-tags . #$file-tags))
+ (packages
+ . #$(map mumi-package-configuration->alist
+ packages)))
<>))))))
(define (mumi-shepherd-services config)