guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

13/13: gnu: mumi: Update to 0.0.0-12.bb2fe92.


From: guix-commits
Subject: 13/13: gnu: mumi: Update to 0.0.0-12.bb2fe92.
Date: Mon, 6 Apr 2020 02:41:06 -0400 (EDT)

rekado pushed a commit to branch master
in repository guix.

commit f00f52a1fb5ac08f8059dffcd60d36adcda06603
Author: Ricardo Wurmus <address@hidden>
AuthorDate: Mon Apr 6 08:35:02 2020 +0200

    gnu: mumi: Update to 0.0.0-12.bb2fe92.
    
    * gnu/packages/mail.scm (mumi): Update to 0.0.0-12.bb2fe92.
    [inputs]: Add guile-gcrypt, guile-redis, guile-webutils, mailutils.
    * gnu/services/web.scm (<mumi-configuration>): New record type.
    (mumi-configuration, mumi-configuration?, mumi-configuration-mumi,
    mumi-configuration-mailer?, mumi-configuration-sender,
    mumi-configuration-smtp): New procedures.
    (mumi-shepherd-services): Accept configuration; adjust start commands; add
    Shepherd service for mumi mailer.
    (mumi-service-type): Pass default configuration.
    * doc/guix.texi (Web Services): Update documentation.
---
 doc/guix.texi         | 24 +++++++++++++++++
 gnu/packages/mail.scm | 10 ++++---
 gnu/services/web.scm  | 75 +++++++++++++++++++++++++++++++++++++--------------
 3 files changed, 86 insertions(+), 23 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 67cedae..12094e0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20686,6 +20686,30 @@ but it also fetches and indexes mail retrieved from 
Debbugs.
 This is the service type for Mumi.
 @end defvr
 
+@deftp {Data Type} mumi-configuration
+Data type representing the Mumi service configuration.  This type has the
+following fields:
+
+@table @asis
+@item @code{mumi} (default: @code{mumi})
+The Mumi package to use.
+
+@item @code{mailer?} (default: @code{#true})
+Whether to enable or disable the mailer component.
+
+@item @code{mumi-configuration-sender}
+The email address used as the sender for comments.
+
+@item @code{mumi-configuration-smtp}
+A URI to configure the SMTP settings for Mailutils.  This could be
+something like @code{sendmail:///path/to/bin/msmtp} or any other URI
+supported by Mailutils.  @xref{SMTP Mailboxes, SMTP Mailboxes,,
+mailutils, GNU@tie{}Mailutils}.
+
+@end table
+@end deftp
+
+
 @subsubheading FastCGI
 @cindex fastcgi
 @cindex fcgiwrap
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2d0e256..a4dab88 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3003,8 +3003,8 @@ replacement for the @code{urlview} program.")
     (license gpl2+)))
 
 (define-public mumi
-  (let ((commit "0e9af8d11246eb08152a9bcbc3d04703963b756c")
-        (revision "11"))
+  (let ((commit "bb2fe926b496dc44f783430ab16f5219bae36e81")
+        (revision "12"))
     (package
       (name "mumi")
       (version (git-version "0.0.0" revision commit))
@@ -3016,7 +3016,7 @@ replacement for the @code{urlview} program.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0q5x33gc8gi8w7cjphdmhdyfa62b89mcbmj068yd5jxqx8sn4hlw"))))
+                  "0azqrnkcwnh903f3ap8injhld3jicxdjzbbdi56ax46gjahr1rw3"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -3047,11 +3047,15 @@ replacement for the @code{urlview} program.")
       (inputs
        `(("guile-debbugs" ,guile-debbugs)
          ("guile-email" ,guile-email)
+         ("guile-gcrypt" ,guile-gcrypt)
          ("guile-json" ,guile-json-3)
+         ("guile-redis" ,guile-redis)
          ("guile-sqlite3" ,guile-sqlite3)
          ("guile-syntax-highlight" ,guile-syntax-highlight)
+         ("guile-webutils" ,guile-webutils)
          ("gnutls" ,gnutls)         ;needed to talk to https://debbugs.gnu.org
          ("guile" ,guile-2.2)
+         ("mailutils" ,mailutils)
          ("mumimu" ,mumimu)))   ;'mumimu' executable recorded in (mumi config)
       (native-inputs
        `(("autoconf" ,autoconf)
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index fa5c34d..c73ff5e 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -262,6 +262,14 @@
             patchwork-virtualhost
             patchwork-service-type
 
+            <mumi-configuration>
+            mumi-configuration
+            mumi-configuration?
+            mumi-configuration-mumi
+            mumi-configuration-mailer?
+            mumi-configuration-sender
+            mumi-configuration-smtp
+
             mumi-service-type))
 
 ;;; Commentary:
@@ -1678,6 +1686,14 @@ WSGIPassAuthorization On
 ;;; Mumi.
 ;;;
 
+(define-record-type* <mumi-configuration>
+  mumi-configuration make-mumi-configuration
+  mumi-configuration?
+  (mumi    mumi-configuration-mumi (default mumi))
+  (mailer? mumi-configuration-mailer? (default #t))
+  (sender  mumi-configuration-sender)
+  (smtp    mumi-configuration-smtp))
+
 (define %mumi-activation
   (with-imported-modules '((guix build utils))
     #~(begin
@@ -1702,25 +1718,43 @@ WSGIPassAuthorization On
          (home-directory "/var/empty")
          (shell (file-append shadow "/sbin/nologin")))))
 
-(define (mumi-shepherd-services mumi)
-  (list (shepherd-service
-         (provision '(mumi))
-         (documentation "Mumi bug-tracking web interface.")
-         (requirement '(networking))
-         (start #~(make-forkexec-constructor
-                   '(#$(file-append mumi "/bin/mumi"))
-                   #:user "mumi" #:group "mumi"
-                   #:log-file "/var/log/mumi.log"))
-         (stop #~(make-kill-destructor)))
-        (shepherd-service
-         (provision '(mumi-worker))
-         (documentation "Mumi bug-tracking web interface.")
-         (requirement '(networking))
-         (start #~(make-forkexec-constructor
-                   '(#$(file-append mumi "/bin/mumi") "--worker")
-                   #:user "mumi" #:group "mumi"
-                   #:log-file "/var/log/mumi.worker.log"))
-         (stop #~(make-kill-destructor)))))
+(define (mumi-shepherd-services config)
+  (match config
+    (($ <mumi-configuration> mumi mailer? sender smtp)
+     (list (shepherd-service
+            (provision '(mumi))
+            (documentation "Mumi bug-tracking web interface.")
+            (requirement '(networking))
+            (start #~(make-forkexec-constructor
+                      `(#$(file-append mumi "/bin/mumi") "web"
+                        ,@(if mailer? '() '("--disable-mailer")))
+                      #:user "mumi" #:group "mumi"
+                      #:log-file "/var/log/mumi.log"))
+            (stop #~(make-kill-destructor)))
+           (shepherd-service
+            (provision '(mumi-worker))
+            (documentation "Mumi bug-tracking web interface database worker.")
+            (requirement '(networking))
+            (start #~(make-forkexec-constructor
+                      '(#$(file-append mumi "/bin/mumi") "worker")
+                      #:user "mumi" #:group "mumi"
+                      #:log-file "/var/log/mumi.worker.log"))
+            (stop #~(make-kill-destructor)))
+           (shepherd-service
+            (provision '(mumi-mailer))
+            (documentation "Mumi bug-tracking web interface mailer.")
+            (requirement '(networking))
+            (start #~(make-forkexec-constructor
+                      `(#$(file-append mumi "/bin/mumi") "mailer"
+                        ,@(if sender
+                              (list (string-append "--sender=" sender))
+                              '())
+                        ,@(if smtp
+                              (list (string-append "--smtp=" smtp))
+                              '()))
+                      #:user "mumi" #:group "mumi"
+                      #:log-file "/var/log/mumi.mailer.log"))
+            (stop #~(make-kill-destructor)))))))
 
 (define mumi-service-type
   (service-type
@@ -1734,4 +1768,5 @@ WSGIPassAuthorization On
                              mumi-shepherd-services)))
    (description
     "Run Mumi, a Web interface to the Debbugs bug-tracking server.")
-   (default-value mumi)))
+   (default-value
+     (mumi-configuration))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]